这是一张图片,说明了我遇到的问题:
此图片是使用以下内容创建的:
cube.copy_area(0, 0, cube.get_width(), cube.get_height(), self.canvas, o2i[0], o2i[1])
wherecube
和canvas
are 的类型gtk.gdk.Pixbuf
。 o2i
只是一个元组,包含一个等距放置函数的结果,该函数向后拉到前面。
我希望很明显,我遇到的问题是,在将cube
具有 alpha 通道的 复制到 时canvas
,该copy_area()
函数还将目标 Pixbuf 中的位设置为 0 alpha。如果真的只是以偏移量将一个缓冲区流复制到另一个缓冲区流中,这是有道理copy_area()
的,但这显然不是我的意图。有没有办法将一个 Pixbuf 的内容复制到另一个中,使用源 Pixbuf 的 alpha 通道作为复制蒙版?
作为参考,这里是 PyGTK的copy_area()
.