2011-01-30 5 views
1

Tkinterキャンバスウィジェット内の任意のピクセルの色を変更したいと思っています。Tkinter 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 

self.Caは私のキャンバスウィジェット

スニペットです。ウィジェットが100X100を上回ると、すぐに性能が低下します。

良い方法がありますか?

答えて

1

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

ボトムラインは、個々のピクセルを処理するためのものではありません。

0

ます。また、画素xの四角形を描画するために...長方形で作業することができ、Y

canvas.create_rectangle(x,y,x+1,y+1,fill="red") 

しかし、もちろん、それが最も効果的ではありません...

関連する問題