0

我正在编写一个打开程序并等待它加载的程序。加载时,中间有一个加载栏,屏幕的其余部分是黑色的。

我想要它做的是检查颜色,比如 1200 和 300,将其保存为变量,然后每隔 1 秒检查两者是否相同,当它们不同时,继续其余的代码。

我该怎么做呢?

编辑:有人可以提供一些有效的代码吗?

BGC = robot.getPixelColor(1200, 300);
 System.out.println(robot.getPixelColor(1200, 300));

        int counter = 1;
    while (counter < 10){
        System.out.println(robot.getPixelColor(1200, 300));
        if (BGC == robot.getPixelColor(1200, 300)){
            Thread.sleep(2000);
            System.out.println("Colors Match");
        } else{
            System.out.println("Colors Dont Match");
        }
        counter++;
    }

此代码生成颜色不匹配的结果,以及明显匹配的颜色...帮助._。

4

2 回答 2

0

为什么不使用机器人类 (getPixelColor(x,y)) 来检查像素颜色?但如前所述,不确定这是你应该如何去做的。

于 2012-08-10T22:04:15.057 回答
0

http://www.javalobby.org/forums/thread.jspa?threadID=16400&tstart=0

http://www.daniweb.com/software-development/java/code/216988/java-code-to-capture-your-screen-as-image

这里有两个链接描述了如何在 Java 中进行屏幕截图并将其保存为 BufferedImage。

http://docs.oracle.com/javase/1.4.2/docs/api/java/awt/image/BufferedImage.html

这是 BufferedImage 类的文档

所以你想做的是这样的:

  1. 运行程序
  2. 截图
  3. 使用文档中描述的一些方法检查 RGB 值
  4. 与旧值相比,是否相同?如果是,则返回 2,否则返回 5
  5. 程序的其余部分

但是,我不确定这是否是您应该做的。您要解决的问题到底是什么?

于 2012-08-10T21:37:35.000 回答