Pixel Listener(侦听器对像素变化做出反应)

时间:2016-08-11 16:52:28

标签: listener pixel

我想创建一个对某些像素做出反应的程序,并在更改所选像素时增加计数器。 我正在使用Robot类。导致这个:

Boolean dontcount = false;
Robot robot = new Robot();
while (true) {
if(robot.getPixelColor(900, 900).equals(b)){
    if(dontcount == false){
       counter=counter++;
        dontcount = true;
        System.out.println(counter);
    }
} else {
    dontcount = false;
}
}

正在杀死我的电脑,我正在寻找另一种方式。我猜这可能与听众有关。但我不知道怎么做。任何解决方案?

1 个答案:

答案 0 :(得分:0)

您的代码无法编译,似乎没有多大意义,所以我重写了它。将来,请确保您有一个完整的例子。

代码杀死你PC的原因是因为你应该在你的while循环中稍微等待一段时间让计算机知道它有机会呼吸。 10毫秒就足够了。

import java.awt.AWTException;
import java.awt.Color;
import java.awt.Robot;

public class Main
{
    public static void main(String[] args)
    {
        Robot robot = null;
        try
        {
            robot = new Robot();
        } catch (AWTException e1)
        {
            e1.printStackTrace();
        }

        Color lastPixelColor = null;
        int counter = 0;

        while (true)
        {
            Color pixelColor = robot.getPixelColor(900, 900);
            if (!pixelColor.equals(lastPixelColor))
            {
                counter++;
                System.out.println(counter);
            }

            lastPixelColor = pixelColor;

            try
            {
                // You need to sleep so you don't murder your CPU
                Thread.sleep(10);
            } catch (InterruptedException e)
            {
            }
        }
    }
}