Форум: "Media";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
ВнизПодскажите как можно битмап А сравнить с Битмапом Б и отличия Найти похожие ветки
← →
xex (2004-03-05 08:56) [0]записатьв битмап А, но при этом не просто целиком переписывать одим в другой, а сравнивая допустим блоками и рез-тат записать также блоками. Заранее благодарен .
← →
WondeRu © (2004-03-05 09:34) [1]Если честно, то не очень догнал, что надо!
Но попробуй копировать Б в А с помощью BitBlt, используюя разные флаги dwRop(последний параметр)
← →
xex (2004-03-09 13:37) [2]К сожалению мне не нужно просто скопировать, допустим, в А и в Б находятся одинаковое изоображение, в следующий момент времени изоображение поменялось, но незначительно(ну пятно красное появилось в левом верхнем углу),сравниваем их и, чтобы в битмап С не передавать все изоображени пересылаем порцию данных с инфой о том что изменилось, т.е. чтобы трафик не грузить сетевой.
← →
Mihey © (2004-03-09 15:41) [3]Самое простое:
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 или что-то ещё.
← →
Diamond Cat © (2004-03-10 20:34) [4]bitblt + F1
Страницы: 1 вся ветка
Форум: "Media";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.033 c