Здравствуйте, есть некий bitmap, в котором нужно найти пиксель с определенным цветом. Ищу перебором:
for (int w = 0; w < bmap.Width; w++)
{
for (int h = 0; h < bmap.Height; h++)
{
clr_ = bmap.GetPixel(w, h).R + bmap.GetPixel(w, h).G + bmap.GetPixel(w, h).B;
.....
}
}
На картинке 1920x1080 перебор занимает около 5 сек. Как можно ускорить? Еще интересно, если поиск не 1 пикселя, а группы(спрайта)...
Разбейте bitmap на сектора и каждый сектор обрабатывайте в отдельном потоке (ThreadPool, Parallel или Task с запуском дочерних заданий и возможностью отмены при нахождении) + как сказано выше, использование Bitmap.LockBits.