【问题标题】:Drawing individual pixels to a canvas in tkinter在 tkinter 中将单个像素绘制到画布上
【发布时间】:2015-12-31 13:50:21
【问题描述】:

我正在使用 Tkinter 在 python 中创建一个窗口,并使用一个画布在窗口中显示图形。到目前为止一切正常。

但我有一个二维列表,其中包含我想直接放置在画布上的颜色。

示例

我定义了一个类(名为 CRGB),它包含三个变量:r、g 和 b。这些是颜色的红色、绿色和蓝色值,是 0 到 255 之间的整数。

我还有一个二维列表,其中包含带有颜色数据的 CRGB 对象。

然后我有一个与 2D 列表大小相同的 Canvas(在名为 screenCanvas 的变量中定义)。

如何将像素从 2D 列表传输到画布?

注意:我希望代码可以在 Mac 和 Windows 上运行,并且不使用任何外部库(Python 默认不包含库。)

【问题讨论】:

  • Python 默认没有安装在 Mac 或 Windows 上,所以如果你打算分发,你必须将它编译成可执行文件。从这个意义上说,您没有理由放弃添加外部库。
  • @AndrewLalis:python默认安装在macs上。

标签: python list canvas tkinter


【解决方案1】:

画布无法绘制单个像素,只能绘制一条正好是 1 像素长和 1 像素宽的线。

如果您需要放置像素,并且不需要画布小部件的其他功能,则可以使用PhotoImage 对象。 PhotoImage 的实例具有设置单个像素的方法。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-05
    • 2011-12-10
    • 2012-03-22
    • 2016-10-22
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多