我有这段代码:
{
Robot robot = new Robot();
Color inputColor = new Color();
Rectangle rectangle = new Rectangle(0, 0, 1365, 770);
BufferedImage image = robot.createScreenCapture(rectangle);
for(int x = 0; x < rectangle.getWidth(); x++)
{
for (int y = 0; y < rectangle.getHeight(); y++)
{
if (image.getRGB(x, y) == inputColor.getRGB())
{
return 1;
break;
}
}
}
}
它应该并且确实会截取屏幕截图并在其中找到inputColor指定的像素。但是程序要求已经改变,现在它需要找到一个长度与给定字符串匹配的像素串。是否有一种简单的方法可以使用现有代码指定它,还是需要更改它?我的意思是,我可以保留现有代码并将inputColor定义为具有5个像素值的字符串,还是需要更改整个算法?
答案 0 :(得分:0)
我觉得这样的事情会起作用。不是最好的效率,但它是一块可以咀嚼的骨头。
int[] pixels = image.getRGB(0, 0, image.getWidth(), image.getHeight(), null, 0, image.getWidth())) {
for (int i = 0; i < pixels.length; i++) {
if (Array.equals(search, Array.copyOfRange(pixels, i, i + search.length)) {
//found it
}
}
搜索将是一个整数数组(您的颜色)。