我有代码
public static void program() throws Exception{
BufferedImage input = null;
long start = System.currentTimeMillis();
while((System.currentTimeMillis() - start)/1000 < 220){
for (int i = 1; i < 13; i++){
for (int j = 1; j < 7; j++){
input = robot.createScreenCapture(new Rectangle(3+i*40, 127+j*40, 40, 40));
if ((input.getRGB(6, 3) > -7000000) && (input.getRGB(6, 3)<-5000000)){
robot.mouseMove(10+i*40, 137+j*40);
robot.mousePress(InputEvent.BUTTON1_MASK);
robot.mouseRelease(InputEvent.BUTTON1_MASK);
}
}
}
}
}
在网页上有一个矩阵(12 * 6),会随机产生一些图像。有些是坏的,有些是好的。
我正在寻找一种更好的方法来检查好图像。目前,在位置(6,3)上的良好图像上,RGB颜色与不良图像不同。 我正在从每个盒子(40 * 40)制作屏幕截图并查看位置(6,3)中的像素
不知道如何更好地解释我的代码
编辑: 网页图片。外部链接好吗? http://i.imgur.com/B5Ev1Y0.png
答案 0 :(得分:1)
我不确定你的代码究竟是什么瓶颈,但我预感到它可能是对robot.createScreenCapture的重复调用。
您可以尝试在嵌套循环外的整个矩阵(即覆盖您感兴趣的所有较小矩形的大矩形)上调用robot.createScreenCapture,然后在您感兴趣的点处查找像素值您正在检查的子矩形的x和y坐标的偏移量。