我正在编写一个应用程序,需要获取屏幕上像素的颜色来运行不同的自动化测试。
(是的,我知道已有自动化测试库。 不,我不能使用它们。)
目前,我正在使用Java编写程序,主要做到以下几点:
Robot r = new Robot();
for (int i = 0; i < 10; i++)
for (int j = 0; j < 10; j++)
r.getPixelColor(i*20, j*20);
这样做的问题在于速度非常慢。这个扫描大约需要一秒钟的时间。(每个像素10毫秒。)有两个问题:(1)我希望它更快,(2)在一秒内,屏幕已经发生变化了。由于各种原因,屏幕只会每半秒更新一次,因此唯一重要的问题是(1)。
有没有办法更快地获取像素颜色信息?如果没有Java库可以做到这一点,我很乐意听听使用C(或其他语言)实现的方法。