问题描述
所以,我创建了这个小迷宫构建算法(试图了解 Java AWT 和 Swing 的工作原理)。
现在,我已经使用 Graphics(绘制方法)来创建迷宫本身,这意味着我没有将它存储在任何地方。 现在我想知道是否有办法知道在 JFrame 上的给定点是否有办法判断它是哪种颜色? 如果是这样,我该怎么做? 比方说,在我的迷宫中,我想看看 PURPLE 点上的颜色是什么(基本上看它是否是一堵墙)。
有没有办法做到这一点,或者我必须解决这个问题?
谢谢。
解决方法
没有直接访问 Component
的图像缓冲区的方法。但有两种间接方式。
-
(更好)创建一个与您的组件具有相同高度和宽度的图像(BufferedImage 或 Component.createImage)。然后您可以运行
myComponent.paint(myBuffer.getGraphics());
。这将在图像上绘制组件,然后您可以获得您感兴趣的像素Color
-
(替代)您可以使用 java.awt.Robot 来捕获图像中的屏幕。使用与上述类似的图像