¿Por qué se pierde la transparencia de una imagen PNG cuando uso TPicture?
Frecuentes
Visto 1,509 veces
1
I'm using this code to convert a transparent png to a 32 bpp bmp.
var
Picture : TPicture;
BMP : TBitmap;
begin
Picture := TPicture.Create;
try
Picture.LoadFromFile('Foo.png');
BMP := TBitmap.Create;
try
BMP.PixelFormat:=pf32bit;
BMP.Width := Picture.Width;
BMP.Height := Picture.Height;
BMP.Canvas.Draw(0, 0, Picture.Graphic);
BMP.SaveToFile('Foo.bmp');
finally
BMP.Free;
end;
finally
Picture.Free;
end;
end;
The image is converted to bmp but the transparency is lost, what I'm missing?
1 Respuestas
4
Intenta usar el Assign
method. this will preserve the transparency.
al igual que.
BMP := TBitmap.Create;
try
BMP.Assign(Picture.Graphic);
BMP.SaveToFile('Foo.bmp');
finally
BMP.Free;
end;
Respondido el 09 de Septiembre de 13 a las 23:09
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas delphi bitmap png delphi-xe2 or haz tu propia pregunta.
@TLama At least I learned something... Thanks! - ppeterka