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

Вниз

BitBlt и прозрачность   Найти похожие ветки 

 
BladeMaster   (2004-07-07 13:02) [0]

Вот понадобилось с помощью BitBlt вывести картинку с прозрачными участками.
Посмотрел на DelphiGFX и нашел следующее:
...
var
Wizard, WizardMask,Buffer:Tbitmap;
X,Y:integer;
...
Wizard:=Tbitmap.Create;
Wizard.Loadfromfile("spr1.bmp");
WizardMask:=Tbitmap.Create;
WizardMask.Loadfromfile("spr2.bmp");
Buffer:=Tbitmap.Create; // Копируем маску в буфер
BitBlt(Buffer.Canvas.Handle,X,Y,50,50, WizardMask.Canvas.Handle,0,0,SrcPaint);
// Копируем спрайт в буфер
BitBlt(Buffer.Canvas.Handle,X,Y,50,50, Wizard.Canvas.Handle,0,0,SrcAnd);
...
// Перемещаем буфер на форму BitBlt(Form1.Canvas.Handle,0,0,320,240,Buffer.Canvas.Handle,0,0,SrcCopy);

Так вот, если прозрачный цвет белый, то все работает. А если любой другой то этот цвет становится не прозрачным, а полупрозрачным. Как от этого избавиться?

PS
Видео: GeForce4 MX400


 
Servelat ©   (2004-07-07 23:48) [1]

Если у тебя картинка маски - монохромная, то сделай её не монохромной, а 24"битной (или столько битной, сколько и основное изображение). Должно помочь.



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

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

Наверх




Память: 0.46 MB
Время: 0.044 c
4-1096702312
dir__er
2004-10-02 11:31
2004.11.07
hWindow to hProcess


8-1091957143
Delphi5.01
2004-08-08 13:25
2004.11.07
... края силуэта ... плавно переходили в фон


3-1097129513
S@shka
2004-10-07 10:11
2004.11.07
Можно ли в UDF вернуть больше одного параметра???


3-1097069063
Rule
2004-10-06 17:24
2004.11.07
Вопрос по хранимой процедуре (FB 1.x + IBX 7.08)


14-1097859540
lipskiy
2004-10-15 20:59
2004.11.07
Где дают нормальный бесплатный ftp? И много?