-
Akasha (03.10.09 12:14) [0]Доброго времени суток! Требуется объединить (наложить друг на друга) две картинки. Делаю вот так:OpenDialog1.Execute;
Image1.Picture.LoadFromFile(OpenDialog1.FileName);
OpenDialog2.Execute;
Image2.Picture.LoadFromFile(OpenDialog2.FileName);
Image1.Canvas.Draw(Image1.Width-Image2.Width,Image1.Height-Image2.Height,Image2.Picture.Graphic);
SaveDialog1.Execute;
Image1.Picture.SaveToFile(SaveDialog1.FileName);
Получается, что второй битмап становится чернобелым!! Что делать? Куда копать? -
CrytoGen (03.10.09 13:34) [1]может первый чёрно-белый?
-
antonn © (03.10.09 13:47) [2]после загрузки:
Image2.Picture.Bitmap.pixelformat:=pf24bit;
Image1.Picture.Bitmap.pixelformat:=pf24bit; -
Akasha (03.10.09 13:49) [3]Нет! Именно второй рисунок становиться черно-белым(после наложения). А первый остается цветным
-
Akasha (03.10.09 14:08) [4]
> antonn © (03.10.09 13:47) [2]
>
> после загрузки:
> Image2.Picture.Bitmap.pixelformat:=pf24bit;
> Image1.Picture.Bitmap.pixelformat:=pf24bit;
>
Огромное спасибо, помогло :)
P.S. Еще вопрос по теме. Мне нужно второй битмап очистить от белого цвета. То есть чтобы он стал, грубо говоря, прозрачным. Как GIF. Что посоветуете ?
P.S.S. С графикой приходится работать не часто просто, поэтому такие вопросы -
antonn © (03.10.09 17:04) [5]нет такого понятия как "прозрачный", можно лишь не учитывать цвет при копировании на другой битмап. Возможно подтолкнут на мысль эти костыли http://kladovka.net.ru/index.cgi?pid=list&rid=252
-
Омлет (04.10.09 18:27) [6]> Akasha (03.10.09 14:08) [4]
У TBitmap есть свойства Transparent, TransparentColor и TransparentMode. -
GDI+ (11.10.09 03:40) [7]
> P.S. Еще вопрос по теме. Мне нужно второй битмап очистить
> от белого цвета.
Image1.Picture.Bitmap.TransparentColor := clWhite;