Главная страница
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.053 c
14-1117027343
Opilki_Inside
2005-05-25 17:22
2005.06.14
Где бы распечатать А1 ?


1-1117339257
Homa_Programer
2005-05-29 08:00
2005.06.14
Popup & DBGrid


1-1117346604
Aldor
2005-05-29 10:03
2005.06.14
Чтение свойства - всем, запись - только потомкам


1-1117422055
Владимир
2005-05-30 07:00
2005.06.14
RichEdit


1-1117188948
sapsi
2005-05-27 14:15
2005.06.14
архивация текстового файла программно