Ускорение распознавания пикселей в Java - PullRequest
0 голосов
/ 31 марта 2012

Я пишу программу, которая требует от меня очистки данных с экрана, я делаю это, просматривая каждый пиксель на экране и сохраняя цвет, но это очень дорогая операция и требует времени

следующий код - это то, что я использую для очистки данных

try
{
     Robot r = new Robot();
     for( int a = 0; a < height; a++ )
     {
          for ( int b = 0; b < width; b++ )
          {
               Color p = r.getPixelColor(a, b);
               int red = p.getRed();
               int blue = p.getBlue();
               int green = p.getGreen();

               screen[a][b][0] = red;
               screen[a][b][1] = blue;
               screen[a][b][2] = green;
           }
      }
}
catch( AWTException e ) {}

Есть ли способ улучшить это или есть альтернативы использованию этого класса или метода

1 Ответ

1 голос
/ 31 марта 2012

Используйте Robot.createScreenCapture() для создания BufferedImage определенной области за один вызов метода.

Если это не работает по соображениям безопасности, второй вариант - изменить исходные коды, чтобы они отображали пользовательский интерфейс в BufferedImage, который затем можно клонировать для его анализа (или анализа непосредственно, если вы можете предотвратить изменения). к нему).

...