在Tkinter中更改画布像素颜色,Python

2 投票
2 回答
3634 浏览
提问于 2025-04-17 13:28

有人知道有没有办法在画布上直接改变一个像素的颜色,而不使用任何对象吗?也就是说,不用像 canvas.create_ovalcanvas.create_rectangle 这样的方式?

2 个回答

5

要给一个像素上色,唯一的方法就是创建一个1x1像素的对象。没错,到了某个时候,你会遇到性能问题。因为这个画布本来就不是为了这样使用而设计的。

如果你真的需要创建一个可以管理单个像素的大区域,你可以创建一个画布,并用一张和画布大小一样的单一图像来填充它。然后,你可以通过图片的接口来设置图像上单个像素的颜色。

0

tkinter 中,这个事情是做不到的。

即使你能在画布窗口上改变一个像素(这在不同平台上可以通过 X11 和 Windows 的一些接口实现),你还得确保这个像素能够正确地重新绘制。

当然,你可以在画布上放一个大小为 1x1 的 frame,并设置你想要的背景颜色。这样一来,像素就“变了”,而且不会创建任何画布对象。如果问题背后真的有一个奇怪的原因,这个小技巧可能会是个解决办法。

撰写回答