![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Наложить одну картинку на другую
Бархатный © (2003-07-24 17:39:00)
Мастера, вот такой вопрос.
Нужно одну картинку наложить на другую. Если пользоваться методом Draw объекта Canvas, то верхняя картинка затирает нижнюю, а нужно, чтобы нижнее изображение (т.е. то, что от него остается) было видимо.
miek (2003-07-25 17:09:00) [1]
Есть такая процедура в WinAPI - AlphaBlend
Бархатный (2003-07-24 23:38:00) [2]
Ну Fenik, ты конкретно рулишь в этом! Фул респект.
Fenik (2003-07-24 22:43:00) [3]http://delphibase.endimus.com/?action=viewfunc&topic=mediaimg&id=10300
Бархатный (2003-07-24 19:39:00) [4]
MyBitmap2 затирает MyBitmap.
Бархатный (2003-07-24 19:35:00) [5]Я делаю так:
MyBitmap2.Transparent := True;
MyBitmap2.TransparentColor := MyBitmap2.Canvas.Pixels[2, 2];
MyBitmap2.TransparentMode := tmAuto;
( 0, 0, MyBitmap2)Я делаю так:
MyBitmap2.Transparent := True;
MyBitmap2.TransparentColor := MyBitmap2.Canvas.Pixels[2, 2];
MyBitmap2.TransparentMode := tmAuto;
MyBitmap.Canvas.Draw(0, 0, MyBitmap2);
Не помогает однако :(
AlexT1000 (2003-07-24 19:29:00) [6]
Формула прозрачности для двух цветов C1 C2
C = C1 + (C2 - C1) * A / 255;
A - коэффициент прозрачнисти C2. диапазон 0 - 255
0 - полностью прозрачный
255- полностью не прозрачный
Rouse_ (2003-07-24 18:28:00) [7]
Если имеется ввиду функция - то универсальной нет, все делается ручками, ScanLine, BitBlt и т.д.
Делаю успехов
Бархатный (2003-07-24 18:05:00) [8]
Картинки одинакового размера. Нужно, чтобы верхняя была как бы прозрачной, что ли.
[lamer]Barmaglot (2003-07-24 17:44:00) [9]
CopyRect ?