如何获取 tkinter canvas 的特定像素?

How do I get specific pixels of the tkinter canvas?

我在使用 Tkinter Canvas 时遇到问题,将其保存为图像,但更重要的是,获取 Tkinter Canvas 的特定像素。我只需要那个特定的 X、Y 坐标,我想要它的颜色值。通过 'color value',我可以使用 python 图像库绘制像素的任何值都可以使用。

以下是我为让它发挥作用所做的努力:

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

接下来,这是我在第 2 步中尝试使用的代码:

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

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

实际结果:我查了一下网上没有找到解决我问题的方法,文档中也没有找到方法。

如果有人可以帮助我从 Tkinter Canvas 的特定坐标获取颜色,请说 (0, 0)。谢谢!

How do I get specific pixels of the tkinter canvas?

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