【发布时间】:2013-01-23 23:07:34
【问题描述】:
有人知道是否可以在不使用 un 对象的情况下更改画布中像素的颜色,因此不使用 canvas.create_oval 或 canvas.create_rectangle 之类的东西?
【问题讨论】:
-
画布不是矩阵,请使用图像。
有人知道是否可以在不使用 un 对象的情况下更改画布中像素的颜色,因此不使用 canvas.create_oval 或 canvas.create_rectangle 之类的东西?
【问题讨论】:
除了创建某种 1x1 像素对象外,没有其他方法可以为像素着色。是的,在某些时候你会遇到性能问题。画布根本不适合以这种方式使用。
如果您确实需要创建一个可以管理单个像素的大区域,您可以创建一个具有与画布相同大小的单个图像的画布。然后,您可以通过照片图像界面设置图像上各个像素的颜色。
【讨论】:
在tkinter 本身内,这是不可能的。
即使您设法更改画布窗口上的像素(这可以通过 X11 和 Windows API 以平台相关的方式实现),您也必须确保正确重绘它。
当然,您可以在画布上使用大小为 1x1 的 place frame,并使用您想要的背景颜色。这样,像素被“改变”并且没有画布对象被创建。如果问题背后有一个真实(尽管奇怪)的问题,那么这个技巧可能是一个解决方案。
【讨论】:
canvas.create_rectangle 做同样的事情,当有很多彩色像素时,画布会滞后