Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.14;
Скачать: 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 вся ветка

Текущий архив: 2005.06.14;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.055 c
1-1117020849
Comrade
2005-05-25 15:34
2005.06.14
RX и DelphiX


1-1117374225
Serg1981
2005-05-29 17:43
2005.06.14
Открытие сайта, ссылка на который находится в Label


3-1115722161
Black Fox
2005-05-10 14:49
2005.06.14
Проблема с обновлением QR 3.0 до QR.3.07


14-1116714977
лак
2005-05-22 02:36
2005.06.14
Разреженный вектор


14-1116839893
1008
2005-05-23 13:18
2005.06.14
Никто ссылочкой не поделится