我正在編寫一個應用程序,它需要獲取屏幕上像素的顏色才能運行不同的自動化測試。快速獲取屏幕上的像素信息
(是的,我知道已經存在的自動化測試庫,不,我不能使用它們)
目前,我用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(或其他)的方法。
也許這個解決方案可以幫助您:http://stackoverflow.com/questions/7168839/how-does-robots-getpixelcolorint-x-int-y-method-work – Anthea