Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Подскажите как можно битмап А сравнить с Битмапом Б и отличия [D6, D7, Win2k, WinXP]


xex ©   (2004-03-05 08:56:00) 

записатьв битмап А, но при этом не просто целиком переписывать одим в другой, а сравнивая допустим блоками и рез-тат записать также блоками. Заранее благодарен .


Diamond Cat   (2004-03-10 20:34:00) [1]

bitblt + F1


Mihey   (2004-03-09 15:41:00) [2]

Самое простое:

for y := 0 to A.Height-1 do
for x := 0 to A.Width-1 do
 begin
  If A.Canvas.Pixels[x,y] <> B.Canvas.Pixels[x,y] then
   AddDataToSend(x, y, A.Canvas.Pixels[x,y]);
 end;

// procedure AddDataToSend(x, y: Integer; c: TColor);

Это самое лёгкое, но и самое медленное. Ускорение - использовать ScanLine или что-то ещё.


xex   (2004-03-09 13:37:00) [3]

К сожалению мне не нужно просто скопировать, допустим, в А и в Б находятся одинаковое изоображение, в следующий момент времени изоображение поменялось, но незначительно(ну пятно красное появилось в левом верхнем углу),сравниваем их и, чтобы в битмап С не передавать все изоображени пересылаем порцию данных с инфой о том что изменилось, т.е. чтобы трафик не грузить сетевой.


WondeRu   (2004-03-05 09:34:00) [4]

Если честно, то не очень догнал, что надо!
Но попробуй копировать Б в А с помощью BitBlt, используюя разные флаги dwRop(последний параметр)


Наверх

Титульная страница Поиск, карта сайта Написать письмо