合并gtk subpixbufs

时间:2012-05-10 23:19:38

标签: python gtk gdkpixbuf

我现在正在使用python中的gtk.pixbuf。在API中,subpixbuf函数被描述为返回一个与原始pixbuf共享数据的pixbuf:

  

subpixbuf()方法创建一个新的gtk.gdk.Pixbuf,它表示pixbuf的子区域。新的pixbuf与原始pixbuf共享其像素,因此写入一个会影响两者。

但是...

当我试图在一个subpixbuf列表中划分一个pixbuf并为每个项目赋值时,原始的pixbuf保持不变。

animation.subpixbuf=[]
animation.pixbuf.fill(self.LIGHT_SQ_COLOR)
for i in range(64) :
   animation.subpixbuf += [animation.pixbuf.subpixbuf((7-i%8)*self.sq_width (i/8)*self.sq_width,w,w)]
   animation.subpixbuf[i]=self.squares[63-i]

关于如何从一堆subpixbufs组成pixbuf的任何想法?

感谢。

1 个答案:

答案 0 :(得分:1)

执行animation.subpixbuf[i]=self.squares[63-i]时,您将subpixbuf[i]分配给新的Pixbuf对象。您没有更改以前存储在subpixbuf[i]中的Pixbuf。

要做你想做的事,你应该看一下Pixbuf类的copy_area方法。