繁体   English   中英

在Tkinter画布小部件中处理单个像素的颜色

[英]Manipulating individual pixel colors in the Tkinter Canvas widget

我希望能够在Tkinter画布小部件中更改单个像素的颜色。

我的第一次尝试是创建了许多线对象并使它们充当像素。

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

有没有更好的办法?

代替使用画布,而是从适当大小的空白图像开始。 尽管您失去了绘制线条,圆形等对象的能力,但您可以非常轻松地操纵图像中的单个像素。

底线是画布不是为处理单个像素而设计的。

您也可以使用矩形...在像素x,y上绘制矩形

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

但这当然不是最有效的...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM