首页 > 解决方案 > 如何获取 tkinter 画布的特定像素?

问题描述

我对 Tkinter Canvas 有疑问,将其保存到图像中,但更重要的是,获取 Tkinter Canvas 的特定像素。我只需要那个特定的 X、Y 坐标,我想要它的颜色值。通过“颜色值”,我可以使用 python 成像库绘制像素的任何值都可以使用。

这是我尝试做的事情:

  1. 我首先尝试使用 python 成像库的图像抓取类来获取 Canvas 图像,但这并没有按预期工作。
  2. 然后我尝试使用“eps”文件将 Tkinter Canvas 转换为图像,但这不起作用,GhostScript 也不起作用。
  3. 接下来,我搜索了是否有任何方法可以在 Tkinter 画布上的某个坐标处获取像素,但无济于事。那是我发布这个的地方。

接下来,这是我为第 2 步尝试的代码:

    screen = w
    @staticmethod
    def image():
        w.postscript(file=".canvas_script.eps")
        img = Image.open(".canvas_script.eps")
        return img
        # GhostScript Error

预期结果:我的预期结果是获得任何特定点的颜色,或者至少获得可以转换为另一个颜色元组或值的点的颜色。然后,将其绘制在 python 成像库图像上。

实际结果:当我研究解决我的问题时,我在互联网上没有发现任何方法,文档中也没有任何方法。

如果有人可以帮助我从 Tkinter 画布的特定坐标中获取颜色,比如 (0, 0),请执行。谢谢!

标签: pythonpython-3.xtkinterpython-imaging-librarytkinter-canvas

解决方案


如何获取 tkinter 画布的特定像素?

你不能。画布不是面向像素的小部件。您可以做的最好的事情是使用其他一些库来创建画布的屏幕截图,然后使用图像为您提供所需的值。


推荐阅读