单击所需的像素 - Java

时间:2012-05-04 02:40:29

标签: java

我试图制作一个点击屏幕上指定颜色的程序(RGB)。我知道如何从像素的位置获取颜色。我使用的是Robot类,但它没有内置的方法来做我想做的事情。我可以用它做什么? 谢谢:))

1 个答案:

答案 0 :(得分: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);
  }
 }
}

注意:这是未经测试的代码,但主要是为您提供所需的所有部分。