我目前正在实现一个方法来接受两个位图对象。我们可以假设所说的对象具有相同的尺寸等。该方法的返回是一个像素变化列表(它存储在一个自制对象中)。这是以迭代的方式开发的,所以当前的实现是基本的实现......只是简单地处理每个像素并将其与其对应物进行比较。这种产生变化的方法比可接受的(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