我希望能够在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大得多,性能迅速下降。
有更好的方法吗?
答案 0 :(得分:1)
不是使用画布,而是从适当大小的空白图像开始。您可以非常轻松地操作图像中的单个像素,但是您无法绘制线条,圆圈等对象。
底线是画布不是为处理单个像素而设计的。
答案 1 :(得分:0)
您也可以使用矩形...在像素x,y
上绘制一个矩形canvas.create_rectangle(x,y,x+1,y+1,fill="red")
但当然它不是最有效的......