GdkPixbuf更改不透明度

时间:2018-09-07 13:42:33

标签: c linux gtk

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

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

1 个答案:

答案 0 :(得分:1)

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