1

我目前在 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 的任何想法?

谢谢。

4

1 回答 1

1

当您这样做时animation.subpixbuf[i]=self.squares[63-i],您将分配subpixbuf[i]给一个新的 Pixbuf 对象。您不会更改以前存储在subpixbuf[i].

要做你想做的事,你应该看看copy_areaPixbuf 类的方法。

于 2012-05-11T07:04:27.370 回答