ここに私が抱えている問題を示す写真があります:
この画像は次のように作成されました。
cube.copy_area(0, 0, cube.get_width(), cube.get_height(), self.canvas, o2i[0], o2i[1])
wherecube
とcanvas
は のタイプgtk.gdk.Pixbuf
です。 o2i
後ろから前に描画するアイソメトリック配置関数の結果を含む単なるタプルです。
私が抱えている問題は、明らかなようにcube
、アルファチャンネルを持つを にコピーするcanvas
際に、copy_area()
関数がコピー先の Pixbuf のビットを 0 アルファに設定することです。これは、copy_area()
あるバッファ ストリームをオフセットで別のバッファ ストリームにコピーするだけであれば意味がありますが、明らかに私の意図ではありません。ソース Pixbuf のアルファ チャネルをコピー マスクとして使用して、ある Pixbuf の内容を別の Pixbuf にコピーする方法はありますか?
参考までに、の PyGTK のドキュメントを次に示しますcopy_area()
。