是否有在 AWT/SWING 中查找点颜色的函数

Is there a function to find color of point in AWT/SWING

所以,我创建了这个小迷宫构建算法(试图了解 Java AWT 和 Swing 的工作原理)。

现在,我已经使用 Graphics(绘制方法)来创建迷宫本身,这意味着我没有将它存储在任何地方。 现在我想知道是否有办法知道在 JFrame 上给定的特定点是否有办法判断它是哪种颜色? 如果是这样,我该怎么做? 比方说,在我的迷宫中,我想看看紫色点上的颜色是什么(看看它是否基本上是一堵墙)。

有没有办法做到这一点,或者我必须做一个变通办法吗?

谢谢。

Component 的图像缓冲区没有直接的方法。但是有两种间接方式。

  1. (更好)创建一个与组件具有相同高度和宽度的图像(BufferedImage 或 Component.createImage)。然后你可以 运行 myComponent.paint(myBuffer.getGraphics());。这将在图像上绘制组件,从那里您可以获得您感兴趣的像素Color

  2. (备选)您可以使用 java.awt.Robot 在图像中捕获屏幕。使用与上述类似的图像