我正在编写一个程序,其中我需要查找图像中单击的像素的颜色(图像存储为 JLabel),并计划使用 AWT 机器人来完成这项工作。但是,据我所知,我无法将 AWT 机器人与特定标签关联起来;它作用于整个 GraphicsDevice。以下命令:
Robot r = new Robot();
Color c = r.getPixelColor(42, 42);
将获取屏幕上坐标为 (42, 42) 的像素的颜色,而不是 JLabel 内坐标为 ( 42, 42)(即从 JLabel 左上角向右 42 像素,向下 42 像素)。如何获取 JLabel 中具有特定坐标的像素的颜色?
如果有帮助的话,我的 JLabel 中还有一个 MouseListener 对象。
最佳答案
您可以获得 Swing/AWT 的屏幕坐标 Component使用:
Component.getLocationOnScreen()
然后只需使用 getPixelColour
获取这些坐标加上您的偏移量 42、42 或其他值。
关于java - 获取 JLabel 中具有特定坐标的像素的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28833094/