首页 > 解决方案 > GdkPixbuf 改变不透明度

问题描述

是否可以将 a 的不透明度设置为GdkPixbuf50% 左右?问题是我在 Gtk2 中编写(不能切换到 Gtk3!)一个文件浏览器小部件(用于远程文件传输),如果文件被隐藏,我希望文件的图标是 50% 透明的。

我使用图标GFileInfo并将其加载到 aGdkPixbuf中,但我不知道如何更改不透明度。

标签: clinuxgtk

解决方案


透明度在 Alpha 通道中处理。如果您的 pixbuf 不透明(检查gdk_pixbuf_get_has_alpha),您可以尝试调用gdk_pixbuf_add_alpha来添加 alpha 通道。然后迭代像素并将每个像素的 alpha 值设置为 50%(即 128),因为 gdk-pixbuf 使用未预乘的alpha有关迭代像素的方法,请参阅文档。


推荐阅读