python - 合并 gtk subpixbuf

标签 python gtk gdkpixbuf

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

The subpixbuf() method creates a new gtk.gdk.Pixbuf that represents a sub-region of the pixbuf. The new pixbuf shares its pixels with the original pixbuf, so writing to one affects both.

但是...

当我尝试将 pixbuf 划分为 subpixbuf 列表并为每个项目分配一个值时,原始 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]

关于如何从一堆 subpixbuf 组成一个 pixbuf 有什么想法吗?

谢谢。

最佳答案

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

要执行您想做的操作,您应该查看 Pixbuf 类的 copy_area 方法。

关于python - 合并 gtk subpixbuf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10543435/

相关文章:

gtk - 我应该在 GTK 中将应用程序 ID 设置为什么?

c - gtk 初学者应用程序无法在断言失败的情况下工作

python - 转换 PIL GdkPixbuf

python - 如何正确分组列?

python - 检查项目是否在列表列表中

python - 如何使用python I2C TCA9548A从多路复用器读取

python - 比循环和调用循环调用另一个函数的函数更好的方法

python - 如何使用 pygtk 前进到 "new page"?

c++ - 通过 GdkPixbuf 绘图绘制在错误的像素坐标

c - GDK:如何刷新透明背景?