2011-01-30 84 views
1

我希望能夠改變Tkinter的畫布組件內indvidual像素的顏色。操作單個像素顏色部件

我在這第一次嘗試,我創造了許多線對象,讓他們充當像素。

self.Ca是我的畫布組件

片段:

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大得多之後,性能迅速下降。

有沒有更好的方法?

回答

1

代替使用帆布,開始與適當大小的空白圖像。您可在圖像操縱單個像素相當輕鬆,雖然你失去了繪製對象,如直線,圓等

底線是,畫布沒有被設計用於處理單個像素的能力。

0

您還可以使用矩形工作...吸取像素x的矩形,Y

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

但當然這不是最有效的...