-
Валера (13.05.12 18:31) [0]Есть изображение 24 бита. С явным цветовым ключом.
Как вывести его с прозрачностью через AlphaBlend, чтобы при это
ключ убирался? -
Sapersky (13.05.12 22:58) [1]Перевести в 32 бита, сгенерировать альфа-канал в соотв. с ключом.
-
Валера (14.05.12 01:19) [2]Можно пример?
-
Sapersky (14.05.12 13:16) [3]
procedure ConvDIB(Src, Dst : TFastDIB; Trans : TFColor);
Var x,y : Integer;
sc : PFColor;
dc : PFColorA;
Trans32 : TFColorA;
begin
Dst.SetSize(Src.Width, Src.Height, 32);
ClearB(Dst, 0);
Trans32.c := Trans; Trans32.a := 0;
For y:=0 to Dst.AbsHeight-1 do begin
sc := Src.Scanlines[y]; dc := Dst.Scanlines[y];
For x:=0 to Dst.Width-1 do begin
dc.c := sc^;
If (dc.i <> Trans32.i) then dc.a := 255
else dc.a := 0;
Inc(sc); Inc(dc);
end;
end;
MultiplyAlpha(Dst); // подготовка картинки для AlphaBlend
end; -
Валера (14.05.12 21:48) [4]Спасибо