Вниз
Скачать: CL | DM;

Скоростная работа с битмапами   Найти похожие ветки 

← →
Grief ©   (2005-04-20 13:44) [0]

Товарищи мастера, есть у меня один вопрос, а точнее два: 1) Как проверит то, что на двух битмапах одинаковое изображение? Если сравнивать попиксельно - очень медленно, а по другому не получается... :( А второй, как побыстрее копировать изображение одного DC на другой?
BitBlT работает вполне прилично, но все-таки порой проц сильно загружен. Как ускорить?


← →
Eraser ©   (2005-04-20 15:32) [1]

Grief ©

РАдмин изобритаешь? )

К сожалению тут без написания драйверов не обойтись. Попробуй раскурочить Радмин дизассемблером IDA- многое станет ясно...


← →
alpet ©   (2005-04-20 16:19) [2]

1. GetDIBits + CompareMemory
2. DirectDraw: BltFast, Blt (MSDN: CAggDrawSurface)


← →
Grief ©   (2005-04-20 18:21) [3]

Радмин? Я наверно совсем тупой, но я не слышал об этом, что это такое?


← →
Marser ©   (2005-04-20 18:26) [4]

http://www.delphimaster.ru/articles/pixels/index.html

> Радмин? Я наверно совсем тупой, но я не слышал об
> этом, что это такое?

Remote Admin. Система удаленного администрирования.


← →
Grief ©   (2005-04-20 18:39) [5]

сэнкс!


← →
Grief ©   (2005-04-20 18:42) [6]

А со вторым?


← →
Grief ©   (2005-04-20 18:43) [7]

ну точнее со сравнением?


← →
Grief ©   (2005-04-20 18:46) [8]

а... это туда же, я понял... а может есть-таки функция? ну например хотя бы можно определить, что рисунок полностью черный? ну все цвета = 0?


← →
alpet ©   (2005-04-20 19:05) [9]

WinAPI такого сервиса вроде не предоставляет. То что предложено - самый (имхо) оптимизированный вариант. Если GetDIBits кажется слишком навороченной, используй обертку для нее GetBitmapBits.


← →
SammIk ©   (2005-04-20 19:34) [10]

Можна выбрать массив пикселей и посчитать хеш.
Но это если сравнивать большие файлы и которых много.


← →
Marser ©   (2005-04-20 19:41) [11]


> Grief ©  

Самый простой вариант - выборочное сравнение, допустим, 2-3% точек на разных участках рисунка.


← →
Marser ©   (2005-04-20 19:42) [12]

Сеткой.


← →
alpet ©   (2005-04-21 13:33) [13]

Вариант c GetDIBits самый быстродействующий. Он позволяет на больших растрах копировать кусочки, которые можно проверять. Таким образом на не совпадение можно наткнуться и в начале цикла, тогда как вариант с хешем потребует вычисления для всего растра (если не хэшировать отдельные же регионы, но хэши в данном случае вероятностный метод - может и ошибится).


← →
SammIk ©   (2005-04-21 14:22) [14]

=) Если надо у мя есть про-ра быстрого сравнения памяти)


← →
SammIk ©   (2005-04-21 14:22) [15]

=) Если надо у мя есть про-ра быстрого сравнения памяти)


← →
Grief ©   (2005-04-22 16:23) [16]

Marser - гениально - проверять некоторые точки
Мне как раз примерно это и подойдет, наверно, только некоторые кадры не пропечатаются, т. к. а если не попадет на нужную точку изменение? SammIk - надо, покажи прогу или кинь на мыло если не в лом!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.024 c
14-1116855278
DiamondShark
2005-05-23 17:34
2005.06.14
Когда человек смеётся?


1-1117392109
Layner
2005-05-29 22:41
2005.06.14
Объединить Grid & PopupMenu в одном компаненте


1-1117200144
ctranik
2005-05-27 17:22
2005.06.14
Как просканировать весь реестр


3-1115549163
_e_u_
2005-05-08 14:46
2005.06.14
Добавление строки в таблицу ;)


1-1116926464
Pavelkq
2005-05-24 13:21
2005.06.14
Передача имени массива в качестве параметра




   Наверх