2012-05-10 12 views
1

私は現在、pythonでgtk.pixbufで遊んでいます。マージのGTK subpixbufs

subpixbuf()メソッドはPIXBUFのサブ領域を表す新しいgtk.gdk.Pixbufを作成:APIにおいて、subpixbuf関数は、元のPIXBUFとデータを共有PIXBUFを返すように記述されています。新しいpixbufはピクセルを元のpixbufと共有するため、1つに書き込むと両方に影響します。

しかし...私は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

animation.subpixbuf[i]=self.squares[63-i]を実行すると、新しいPixbufオブジェクトにsubpixbuf[i]が割り当てられます。あなたは以前にsubpixbuf[i]に格納されているPixbufを変更していません。

Pixbufクラスのcopy_areaメソッドを見てください。

+0

トラックに戻ってくれてありがとう。私はそれを逃したとは信じられない!私はピクスマップを使って別の解決策をとっていましたが、あなたの方がはるかに良くて簡単に聞こえます。私は間違いなくそれを使用します! –