特定の画像/色の画面をスキャンし、その色が発生する場所の 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));
}
}
}
...