在 TkInter 中,我们可以绘制几个shapes。但是,如果我们只想绘制像素呢?
答案 0 :(得分:2)
创建Canvas
对象后,您可以绘制一条跨越单个像素的线。
your_canvas_widget.create_line(x, y, x + 1, y)
答案 1 :(得分:1)
这个话题已经有人回答了,而且很老了,但我想添加一个评论,也许它很有趣:
your_canvas_widget.create_line(x, y, x + 1, y)
我也尝试过,它对我有用。我用它来创建 Mandelbrot 集的图像。它适用于小分辨率,例如200 x 200 像素。但是对于更大的分辨率,TK 引擎似乎无法渲染那么多“微线条”。 mandelbrot 集的计算已经完成,但是 Tk 窗口似乎没有渲染任何东西就挂了。
我在 python-mandelbrot-fractal-with-tkinter 中找到了更好的绘制像素的解决方案。在那里,像素被一个一个地放入 tkinter PhotoImage,然后将其全部渲染在一起,非常快。
答案 2 :(得分:0)
To create a single pixel with co-ordinates x, y
on a canvas, you can use a rectangle
object:
canvas.create_rectangle( (x, y)*2 )
By default, the rectangle object has a one-pixel wide black border, which when one-pixel wide will just be black, regardless of the colour. To give the pixel your desired colour, you can use outline=""
, so you can then specify your fill
colour.
I prefer this method as you only need to provide the x, y
co-ordinates, no x+1
is needed.