0

画面上の指定された色(RGB)をクリックするプログラムを作成しようとしています。位置ごとにピクセルから色を取得する方法を知っています。Robotクラスを使用していますが、必要な処理を実行するためのメソッドが組み込まれていません。これを行うために何を使用できますか?ありがとう :)

4

1 に答える 1

1

まず、スクリーン キャプチャを行う必要があります。

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

次に、画像を処理してピクセルを見つけます。

// the color you want to find
// Set it to your desired value
Color myColorToMatch = new Color();
int w = bufferedImage.getWidth(null);
int h = bufferedImage.getHeight(null);
// find your pixel in the rgbs array
for(int y=0;y<h;y++) {
 for(int x=0;x<w;x++) {
  int pixel = image.getRGB(x, y);
  Color currentColor = new Color(pixel);

  if(currentColor.equals(myColorToMatch)) {
   robot.mouseMove(x, y);
   robot.mousePress(InputEvent.BUTTON1_MASK);
   robot.mouseRelease(InputEvent.BUTTON1_MASK);
  }
 }
}

注: これはテストされていないコードですが、ほとんどの場合、必要なすべてのパーツが提供されます。

于 2012-05-04T02:49:59.340 に答える