我的當前代碼粘貼在下面,顯然只會得到像素(x,y)的顏色1,1
,2, 2
,3,3
等等,直到找到與targetColor
具有相同RGB值的顏色,並且它找不到比賽停止在1000,1000
像素。有什麼更好的方法來做到這一點,所以我不僅得到像素合作伙伴1,1
,2,2
等的顏色。 ?如何獲得Robot.getPixelColor(x,y)方法的更大面積的像素?
而且我需要使用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();
}
}
如果我不清楚我問的是什麼,只是說,我會嘗試以更深入或更容易理解的方式解釋。
我該怎麼做?我以前從未使用過BufferedImage或使用過createScreenCapture方法。我可能需要看一些javadocs課程,但感謝這個想法,我會跟進它 – JAVA 2012-07-31 09:20:52