我目前正在實現一個方法來接受兩個位圖對象。我們可以假設所說的對象具有相同的尺寸等。該方法的返回是一個像素變化列表(它存儲在一個自制對象中)。這是以迭代的方式開發的,所以當前的實現是基本的實現......只是簡單地處理每個像素並將其與其對應物進行比較。這種產生變化的方法比可接受的(500ms左右)慢,因此我正在尋找更快的過程。快速比較兩個位圖對象每個像素的像素基數
我想過的想法是將圖像分解爲條狀圖,並在新線程上運行每個比較或將屏幕區域作爲對象進行比較,然後僅根據需要詳細檢查。您的理解
當前代碼...
for (int x = 0; x < screenShotBMP.Width; x++)
{
for (int y = 0; y < screenShotBMP.Height; y++)
{
if (screenShotBMP.GetPixel(x, y) != _PreviousFrame.GetPixel(x, y))
{
_pixelChanges.Add(new PixelChangeJob(screenShotBMP.GetPixel(x,y), x, y));
}
}
}
,你從代碼有問題之類的概念是採取截圖,並生成從以前拍攝的屏幕截圖像素更改的列表中扣除。
謝謝,有關如何在Lockbits下實現上述內容的任何建議,我們將不勝感激......但現在,我的大腦已經壞掉了,並使用我自己的大腦! – Nick 2010-08-08 11:02:01
謝謝安迪我現在已經很好地實施了。 – Nick 2010-08-08 18:36:20
沒有probs。只是爲了好奇,它快多少? – Andy 2010-08-08 18:38:55