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 楼答案
原因显而易见;你的逻辑有问题。这里有一个想法:
假设您有一个宽度为200px的屏幕,让我们假设您的算法检查屏幕边界之外的像素的颜色(即201,0)。机器人做什么。获取像素颜色返回?它要么返回超出图像边界的颜色,要么返回某种无效结果
有了siad,确保算法在图像约束范围内检查有效像素;这可能是你的研究结果模糊的原因
希望这有助于或导致一个适当的解决方案