画面上の画像の小さなセクションを取得し、任意のピクセルを読み取って他のピクセルと比較しようとしています。画面画像を取得するコードは次のとおりです。
Rectangle captureSize = new Rectangle(x, y, height, width);
BufferedImage image = robot.createScreenCapture(captureSize);
そして、私が使用したピクセルごとに読み取るために
for (int y = 0; y < image.getHeight(); y = y + 1) {
for (int x = 0; x < image.getWidth(); x = x + 1) {
color = image.getRGB(x, y);
// Some methods etc
{
{
しかし、それを実行したとき、私はショックを受けました。createScreenCapture
約40 ミリ秒getRGB
かかり、各ピクセルの使用には約350 ミリ秒かかるため、60 fps のアプリケーションを作成するには非常に非効率的です。ちなみに、私の画像は800x400ピクセルサイズです。私は試しませんでした
rgbArray = image.getRGB(startX, startY, w, h, rgbArray,offset, scansize) ;
なぜなら、それがどれほど効率的かがわからず、コードを並べ替えるのは少し難しいからです。ですから、どんな助けでも大歓迎です。