在Tkinter中更改画布像素颜色,Python
有人知道有没有办法在画布上直接改变一个像素的颜色,而不使用任何对象吗?也就是说,不用像 canvas.create_oval
或 canvas.create_rectangle
这样的方式?
2 个回答
5
要给一个像素上色,唯一的方法就是创建一个1x1像素的对象。没错,到了某个时候,你会遇到性能问题。因为这个画布本来就不是为了这样使用而设计的。
如果你真的需要创建一个可以管理单个像素的大区域,你可以创建一个画布,并用一张和画布大小一样的单一图像来填充它。然后,你可以通过图片的接口来设置图像上单个像素的颜色。
0
在 tkinter
中,这个事情是做不到的。
即使你能在画布窗口上改变一个像素(这在不同平台上可以通过 X11 和 Windows 的一些接口实现),你还得确保这个像素能够正确地重新绘制。
当然,你可以在画布上放一个大小为 1x1 的 frame
,并设置你想要的背景颜色。这样一来,像素就“变了”,而且不会创建任何画布对象。如果问题背后真的有一个奇怪的原因,这个小技巧可能会是个解决办法。