获取 JLabel 中具有特定坐标的像素的颜色
Get the colour of a pixel that has specific coordinates within a JLabel
我正在编写一个程序,我需要在其中找到图像中单击像素的颜色(图像存储为 JLabel),并计划使用 AWT Robot 来完成这项工作。但是,据我所知,我无法将 AWT Robot 与特定标签相关联;它作用于整个 GraphicsDevice。以下命令:
Robot r = new Robot();
Color c = r.getPixelColor(42, 42);
将获取 屏幕 上的坐标为 (42, 42) 的像素的颜色,而不是坐标 内的像素的颜色 =19=] JLabel 是 (42, 42)(即,从 JLabel 的左上角向右 42 像素和向下 42 像素)。如何获取 JLabel 中具有特定坐标的像素的颜色?
如果有帮助的话,我的 JLabel 中也有一个 MouseListener 对象。
您可以使用以下方法获取 Swing/AWT Component 的屏幕坐标:
Component.getLocationOnScreen()
然后只需对这些坐标使用 getPixelColour
加上您的偏移量 42、42 或其他。
我正在编写一个程序,我需要在其中找到图像中单击像素的颜色(图像存储为 JLabel),并计划使用 AWT Robot 来完成这项工作。但是,据我所知,我无法将 AWT Robot 与特定标签相关联;它作用于整个 GraphicsDevice。以下命令:
Robot r = new Robot();
Color c = r.getPixelColor(42, 42);
将获取 屏幕 上的坐标为 (42, 42) 的像素的颜色,而不是坐标 内的像素的颜色 =19=] JLabel 是 (42, 42)(即,从 JLabel 的左上角向右 42 像素和向下 42 像素)。如何获取 JLabel 中具有特定坐标的像素的颜色?
如果有帮助的话,我的 JLabel 中也有一个 MouseListener 对象。
您可以使用以下方法获取 Swing/AWT Component 的屏幕坐标:
Component.getLocationOnScreen()
然后只需对这些坐标使用 getPixelColour
加上您的偏移量 42、42 或其他。