TkInter:绘制一个像素

时间:2015-05-11 13:24:45

标签: python tkinter

TkInter 中,我们可以绘制几个shapes。但是,如果我们只想绘制像素呢?

3 个答案:

答案 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 rectangleobject:

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.