我正在编写一个程序,我需要找到图像中点击像素的颜色(图像存储为JLabel),并计划使用AWT Robot来完成这项工作。但是,据我所知,我无法将AWT机器人与特定标签联系起来;它作用于整个GraphicsDevice。以下命令:
Robot r = new Robot();
Color c = r.getPixelColor(42, 42);
将获得 screen 上的坐标为(42,42)的像素的颜色,而不是JLabel中坐标内的坐标的颜色( 42,42)(即,右边42个像素,JLabel左上角42个像素)。如何在JLabel中获得具有特定坐标的像素的颜色?
如果可以帮助我在JLabel中也有一个MouseListener对象。
答案 0 :(得分:1)
您可以使用以下方式获取Swing / AWT Component的屏幕坐标:
Component.getLocationOnScreen()
然后只需使用getPixelColour
表示这些坐标加上你的偏移量42,42或其他。