1

わかりましたので、私は持っています:

Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle)


int w = image.getWidth(null);
int h = image.getHeight(null);
int[] rgbs = new int[w*h];
image.getRGB(0, 0, w, h, rgbs, 0, w);
// find your pixel in the rgbs array
for(int y=0;y<h;y++) {
    for(int x=0;x<w;x++) {
        if(rgbs[(y*w) + x] == mypixel) { // mypixel
            robot.mouseMove(x, y);
            robot.mousePress(InputEvent.BUTTON1_MASK);
            robot.mouseRelease(InputEvent.BUTTON1_MASK);
        }
    }
}

誰かが私に説明して、おそらく mypixel が何であるかの例を教えてください。答えはおそらく明白ですが、私は少し混乱しています。前もって感謝します

4

2 に答える 2

2

必要な色の値を取得する最も簡単な方法は、を使用することです。

mypixel = new Color(red, green, blue).getRGB();
于 2012-05-04T06:26:52.357 に答える
1

rbgs は、スクリーン ショット全体のカラー値の配列です。下のこの行は、画像内の現在のピクセルの色の値を、クリックしたい色と比較します。変数はおそらく「パックされた」整数です。
if(rgbs[(y*w) + x] == mypixel)

于 2012-05-04T06:21:17.637 に答える