0

画面からデータを取得する必要があるプログラムを作成しています。これは、画面の各ピクセルを確認して色を保存することで実行していますが、これは非常に費用のかかる操作であり、時間がかかります。

次のコードは、データをスクレイピングするために使用しているものです

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 ) {}

これを改善する方法はありますか、またはこのクラスまたはメソッドを使用する代わりの方法はありますか

4

1 に答える 1

1

1 回のメソッド呼び出しで特定の領域のRobot.createScreenCapture()を作成するために使用します。BufferedImage

セキュリティ上の理由でそれがうまくいかない場合、2 番目のオプションは、ソースを変更して UI をレンダリングし、BufferedImageクローンを作成して分析できるようにすることです (または、変更を防ぐことができる場合は直接分析します)。

于 2012-03-31T10:25:37.857 に答える