有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

getpixel java机器人。getPixelColor(x,y)问题

首先是代码:

for (int i = 0; i < 25; i++)
{
robot.delay(1000);// wait 1 second
Color pixel_4 = robot.getPixelColor(x-15, 30);
System.out.println(pixel_4.getRed() + " " + pixel_4.getGreen() + " " + pixel_4.getBlue());
}

这不是我使用的确切代码,但它会产生相同的情况: 如果我在程序中运行这个循环,整个循环的屏幕完全相同,它偶尔会输出如下内容:

255 255 255

。。。(相同颜色)

124142012<;——这就是问题所在

255 255 255

据我所知,屏幕是静态的,但是机器人。getPixelColor(x,y)方法返回了一组错误的值

有人对此有经验或直觉吗?我能做些什么来防止它发生吗

谢谢


共 (1) 个答案

  1. # 1 楼答案

    原因显而易见;你的逻辑有问题。这里有一个想法:

    假设您有一个宽度为200px的屏幕,让我们假设您的算法检查屏幕边界之外的像素的颜色(即201,0)。机器人做什么。获取像素颜色返回?它要么返回超出图像边界的颜色,要么返回某种无效结果

    有了siad,确保算法在图像约束范围内检查有效像素;这可能是你的研究结果模糊的原因

    希望这有助于或导致一个适当的解决方案