【发布时间】:2018-09-07 13:42:32
【问题描述】:
是否可以将GdkPixbuf 的 a 的不透明度设置为 50% 左右?问题是我在 Gtk2 中编写(不能切换到 Gtk3!)一个文件浏览器小部件(用于远程文件传输),如果文件被隐藏,我希望文件的图标是 50% 透明的。
我使用GFileInfo 获取图标并将其加载到GdkPixbuf,但我不知道如何更改不透明度。
【问题讨论】:
是否可以将GdkPixbuf 的 a 的不透明度设置为 50% 左右?问题是我在 Gtk2 中编写(不能切换到 Gtk3!)一个文件浏览器小部件(用于远程文件传输),如果文件被隐藏,我希望文件的图标是 50% 透明的。
我使用GFileInfo 获取图标并将其加载到GdkPixbuf,但我不知道如何更改不透明度。
【问题讨论】:
透明度在 Alpha 通道中处理。如果您的 pixbuf 不透明(请咨询gdk_pixbuf_get_has_alpha),您可以尝试调用gdk_pixbuf_add_alpha 来添加alpha 通道。然后迭代像素并将每个像素的 alpha 值设置为 50%(即 128),因为 gdk-pixbuf 使用 unpremultiplied alpha。有关iterate on the pixels 的方法,请参阅文档。
【讨论】: