我的问题通常是如何使用 X11 或某些工具包(如 Gtk)在 Linux 上创建和定位分层窗口。当我说分层窗口时,我指的是其形状和透明度由包含 rgb 和 alpha(透明度) channel 的像素数据定义的窗口。请参见下面的屏幕截图。
我已经使用足够简单的 UpdateLayeredWindow API 在 Windows 上广泛使用它们,并且想知道如何在 Linux 上做同样的事情。
谢谢。
最佳答案
X11 最初只支持一位透明度(需要 SHAPE 扩展,但现在几乎所有的 X11 服务器都实现了它)。使用 XShapeCombineMask
或 gtk_widget_shape_combine_mask
函数。
如果您想要抗锯齿透明度,那么最简单的方法可能是使用 cairo 工具包。可以找到一个例子here .
关于c# - 在 Linux X11/Gtk 上创建分层窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10407963/