gpt4 book ai didi

delphi - 为什么使用 TPicture 时 PNG 图像的透明度会丢失?

转载 作者:行者123 更新时间:2023-12-01 23:44:29 25 4
gpt4 key购买 nike

我使用此代码将透明 png 转换为 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;

图像转换为 bmp 但透明度丢失,我缺少什么?

最佳答案

尝试使用Assign 方法。这将保持透明度。

就像这样。

 BMP := TBitmap.Create;
try
BMP.Assign(Picture.Graphic);
BMP.SaveToFile('Foo.bmp');
finally
BMP.Free;
end;

关于delphi - 为什么使用 TPicture 时 PNG 图像的透明度会丢失?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18707850/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com