java robot.getPixelColor(x,y)的问题

时间:2011-01-02 02:13:50

标签: java getpixel

首先关闭代码:

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

...(相同颜色)

...

...

...

...

...

...

...

124 142 012&lt; ----这是问题

255 255 255

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

有没有人对此有任何经验或直觉?有什么我可以做的,以防止它发生?

由于

1 个答案:

答案 0 :(得分:1)

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

假设您有一个宽度为200px的屏幕,假设您的算法检查屏幕边界之外的像素的颜色(即201,0)。 robot.getPixelColor返回什么?它会返回图像边界之外的颜色或返回某种无效结果。

使用siad,确保算法检查图像约束内的有效像素;这可能是导致结果模糊的原因。

希望这有助于或导致合适的解决方案