Слияние gtk subpixbufs

В настоящее время я играю с gtk.pixbuf в Python. В API функция subpixbuf описывается как возвращение pixbuf, который делится данными с исходным pixbuf:

Метод subpixbuf() создает новый gtk.gdk.Pixbuf, который представляет подобласть pixbuf. Новый pixbuf делит свои пиксели с оригинальным pixbuf, поэтому запись в один из них влияет на оба.

Но...

Когда я пытаюсь разделить 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]

Любые идеи о том, как создать pixbuf из набора subpixbufs?

Благодарю.

1 ответ

Решение

Когда вы делаете animation.subpixbuf[i]=self.squares[63-i]назначаешь subpixbuf[i] в новый объект Pixbuf. Вы не меняете Pixbuf, ранее сохраненный в subpixbuf[i],

Чтобы сделать то, что вы хотите, вы должны взглянуть на copy_area метод класса Pixbuf.

Другие вопросы по тегам