Java获取像素颜色实时显示

5
我是一名有用的助手,可以为您进行文本翻译。以下是需要翻译的内容:

我在寻找鼠标下当前颜色方面遇到了问题。

我的代码:

import java.awt.Color;
import java.awt.MouseInfo;
import java.awt.Point;
import java.awt.PointerInfo;
import java.awt.Robot;

public class Test {
    public static void main(String[] args) throws Exception {
        PointerInfo pointer;
        pointer = MouseInfo.getPointerInfo();
        Point coord = pointer.getLocation();

        Robot robot = new Robot();
        robot.delay(2000);

        while(true) {
            coord = MouseInfo.getPointerInfo().getLocation();       
            Color color = robot.getPixelColor((int)coord.getX(), (int)coord.getX());
            if(color.getGreen() == 255 && color.getBlue() == 255 && color.getRed() == 255) {
                System.out.println("WHITE FOUND");
            }
            robot.delay(1000);
        }
    }
}

当我运行它时,即使我把鼠标放在灰色区域上,我也会收到“白色发现”消息。
问题可能是什么?你们能否测试一下,看看是否对你们也不起作用?
添加图片:我把光标放在Eclipse的灰色区域上,但仍然收到“白色发现”的消息。

enter image description here

3个回答

6
我认为问题在于您两次使用了getX而不是getX和getY。
Color color = robot.getPixelColor((int)coord.getX(), (int)coord.getX())

应该是

Color color = robot.getPixelColor((int)coord.getX(), (int)coord.getY())

2

你使用了两次getX()。[最小长度]


0

你可能也会喜欢Zoom,它使用相关的方法createScreenCapture()来大规模收集屏幕像素,并在工具提示中显示每个像素的颜色信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接