1

Tkinter キャンバス ウィジェット内の個々のピクセルの色を変更できるようにしたいと考えています。

これに対する私の最初の試みは、多くの線オブジェクトを作成し、それらをピクセルとして機能させました。

self.Ca は私の Canvas ウィジェットです

スニペット:

i0 = 0
while i0 < height:
    i1 = 0
    while i1 < width:
        pix = self.Ca.create_line(i1, i0, i1+1, i0, fill=self.Hex, width=1)
        self.matrix.append(pix)
        i1 = i1 + 1
    i0 = i0 + 1

これは機能しますが、リソースをむさぼり食います。ウィジェットが 100X100 をはるかに超えると、パフォーマンスが急速に低下します。

より良い方法はありますか?

4

2 に答える 2

1

キャンバスを使用する代わりに、適切なサイズの空白の画像から始めます。線や円などのオブジェクトを描画する機能は失われますが、画像内の個々のピクセルを非常に簡単に操作できます。

要するに、キャンバスは個々のピクセルを処理するように設計されていないということです。

于 2011-01-30T20:53:09.187 に答える