Pixbuf 重叠/合并

1 投票
2 回答
1232 浏览
提问于 2025-04-17 03:02

有没有办法在一个 gtk.IconView 中重叠(但不覆盖)两个 gtk.gdk.Pixbuf 图像呢?

举个例子,我有一个单元格里面有这个图像: http://www.pirates-caraibes.com/media/zone/AnimMer.gif

我想在这个单元格上添加这个图像: http://www.pirates-caraibes.com/media/objet/plage-coin-test12.gif,这样可以通过透明度显示之前的图像。

我该怎么做呢?

谢谢

编辑:

我看到过 gtk.gdk.Pixbuf.composite 方法,但它没有像 gdk_pixbuf_composite() C 函数那样的 src 参数( http://developer.gnome.org/gdk-pixbuf/unstable//gdk-pixbuf-Scaling.html#gdk-pixbuf-composite

2 个回答

0

你可以使用旧的GDK绘图API来实现这个功能,但在GTK 3中这个API已经不见了。在GTK 2和GTK 3中都能用的是cairo API。

http://developer.gnome.org/gdk/stable/gdk-Cairo-Interaction.html

http://cairographics.org/samples/

让透明效果出现的叫做“alpha”通道,它和RGB通道是并排的。这意味着你需要确保你是在一个ARGB的cairo表面上进行绘图。

0

正如我在评论中提到的,我最终在PyGTK常见问题解答中找到了答案。

撰写回答