Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

Как наложить один Bitmap на другой?   Найти похожие ветки 

 
Alex_C ©   (2006-02-10 21:59) [0]

Есть основной битмат и второй, который надо наложить на основной. Размеры одинаковые. Формат битмапов PixelFormat := pf24bit; - попрошу на это обратить особое внимание!!! С форматом pf4bit проблем нет.
Накладывать надо так - если на втором битмапе точка отличается от черной, то на основном битмапе меняем цвет на цвет этой точки.
Для формата pf4bit я делал так:

for y := 0 to BitMap.Height-1do
begin
    Src := Bmp.ScanLine[y];
    Dest := BitMap.ScanLine[y];
    for x := 0 to BitMap.Width-1  do
    begin
         //если точка (x, y) на созданном Bitmap не черная,
        //то точку (x, y) на исходном Bitmap закрашиваем Bmp
         if Src[x] <> 0 then
               Dest[x] := Src[x];
     end;
end;

Однако с 24-битном формате это не проходит.


 
MBo ©   (2006-02-11 07:27) [1]

в 24-х битном формате каждый пиксел занимает 3 байта. Кстати, для 4=битного твой пример, если Src и Dst - байтовый тип, некорректен - по 2 пиксела сразу обрабатывает, и удвоенную длину строки.



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

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

Наверх




Память: 0.46 MB
Время: 0.035 c
15-1138871099
КаПиБаРа
2006-02-02 12:04
2006.02.26
Посоветуйте стоит ли реализовывать требование заказчика?


15-1138911475
Piter
2006-02-02 23:17
2006.02.26
Контрольная сумма TTH


3-1135669029
DELORAC
2005-12-27 10:37
2006.02.26
Как получить из базы Oracle тексты создания таблиц?


1-1138221604
_цуи_
2006-01-25 23:40
2006.02.26
embeddedwb (документация)


8-1127376617
palgen
2005-09-22 12:10
2006.02.26
IBaseFilter в DirectShow ...