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

2023-12-04

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

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


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

BufferedImage img = ...
int matchColor = Color.RED.getRGB();
int h = img.getHeight();
int w = img.getWidth();
Set<Point> points = new HashSet<Point>();

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));
        }
    }
}

...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在java中扫描屏幕上的特定颜色/图像? 的相关文章

随机推荐