我当前粘贴在下面的代码显然只会获取像素(x,y)1,1
, 等等的颜色,直到它找到具有相同 RGB 值的颜色,2, 2
并且如果它没有在像素处找到匹配停止。有什么更好的方法可以做到这一点,所以我不仅得到了像素坐标的颜色,等等。?3,3
targetColor
1000,1000
1,1
2,2
AND我需要使用getPixelColor(x, y)
方法,因为我需要颜色的坐标,所以我可以点击颜色位置。
import java.awt.Color;
import java.awt.Robot;
public class Colour
{
int x, y;
int n = 0;
int m = 0;
int i = 0;
public Colour()
{
try
{
Robot robot = new Robot();
Color targetColor = new Color(255, 25, 255);
Color color = robot.getPixelColor(n, n);
while (color.getRGB() != targetColor.getRGB() && i != 1000)
{
color = robot.getPixelColor(n, n);
System.out.println("color = " + color);
n++;
i++;
if (color.getRGB() == targetColor.getRGB())
{
i = 1000;
System.out.println("colour found" + n + " " + n);
}
}
}
catch (Exception e)
{
}
}
public static void main(String[] args)
{
Colour color = new Colour();
}
}
如果我不清楚我问的内容,请直说,我会尝试更深入或更易于理解的方式进行解释。