java robot.getPixelColor (x, y) вопрос - PullRequest
0 голосов
/ 02 января 2011

Сначала код:

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 <---- это проблема </p>

255 255 255

Насколько я могу судить, экран статичен, но метод robot.getPixelColor (x, y) возвратил ложный набор значений.

У кого-нибудь есть опыт или интуиция по этому поводу? Могу ли я что-нибудь сделать, чтобы этого не случилось?

Спасибо

1 Ответ

1 голос
/ 02 января 2011

по понятным причинам; что-то не так с вашей логикой. Вот одна мысль:

Предположим, у вас есть экран с шириной 200 пикселей, давайте предположим, что ваш алгоритм проверяет цвет пикселя, который находится за пределами экрана (т.е. 201, 0). Что возвращает robot.getPixelColor? Он либо возвращает цвет за пределами изображения, либо возвращает какой-то недопустимый результат.

Имея это, убедитесь, что ваш алгоритм проверяет правильные пиксели в пределах ограничений вашего изображения; это может быть причиной неясности ваших результатов.

Надеюсь, это поможет или приведет к соответствующему решению

...