如何在java中扫描特定颜色/图像的屏幕?

我需要在屏幕上扫描特定的图像/颜色,并返回x和y坐标,以确定颜色出现的位置。

我知道这可能包括使用Robot类截取屏幕截图,但不知道如何适当地扫描该图像。

如果您使用Robot类截取屏幕截图,则会获得BuffereImage类的对象。 然后你循环宽度和高度(getWidth(),getHeight())。 使用getRGB()方法,您可以提取像素的RGB值。 如果匹配,则可以将其存储在一个集合或数组中。

BufferedImage img = ... int matchColor = Color.RED.getRGB(); int h = img.getHeight(); int w = img.getWidth(); Set points = new HashSet(); for(int i = 0 ; i < w ; i++) { for(int j = 0 ; j < h ; j++) { if(img.getRGB(i, j) == matchColor) { points.add(new Point(i, j)); } } } ...