获取在JLabel中具有特定坐标的像素的颜色

时间:2015-03-03 13:31:03

标签: java swing colors awt

我正在编写一个程序,我需要找到图像中点击像素的颜色(图像存储为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对象。

1 个答案:

答案 0 :(得分:1)

您可以使用以下方式获取Swing / AWT Component的屏幕坐标:

Component.getLocationOnScreen()

然后只需使用getPixelColour表示这些坐标加上你的偏移量42,42或其他。