Hallo,
ich habe eine Bitmap erstellt:
Code:
tmp:=TBitmap.Create;
tmp.SetSize(bmp.Width, bmp.Height);
tmp.PixelFormat:=pf32Bit;
tmp.AlphaFormat:=afDefined;
...
tmp.Free;
Der Alphakanal gibt die Transparenz für den jeweiligen Pixel an.
Wenn ich nun die Bitmap so bearbeite
Code:
Line: PRGBQuadArray;
...
R:=0; G:=0; B:=0; Alpha:=0;
for y:=0 to tmp.Height-1 do
begin
Line:=tmp.ScanLine[Y];
for x:=0 to tmp.Width-1 do
begin
Line[X].rgbRed:=R;
Line[X].rgbGreen:=G;
Line[X].rAgbBlue:=B;
Line[X].rgbReserved:=Alpha;
end;
end;
ist sie bei Ausgabe mit
völlig tranzparent. Bei einer Bearbeitung mit
Code:
Line: PRGBQuadArray;
...
R:=255; G:=255; B:=255; Alpha:=0;
for y:=0 to tmp.Height-1 do
begin
Line:=tmp.ScanLine[Y];
for x:=0 to tmp.Width-1 do
begin
Line[X].rgbRed:=R;
Line[X].rgbGreen:=G;
Line[X].rAgbBlue:=B;
Line[X].rgbReserved:=Alpha;
end;
end;
ist sie bei Ausgabe mit
nur halbtranzparent.
Habe ich da ein Verständnisproblem?
Beste Grüße