我有一个 TBitmap,它包含带有 alpha 通道的半透明图像(在这个例子中,我从 TPngImage 得到它)。
var
SourceBitmap: TBitmap;
PngImage: TPngImage;
begin
PngImage := TPngImage.Create();
SourceBitmap := TBitmap.Create();
try
PngImage.LoadFromFile('ImgSmallTransparent.png');
SourceBitmap.Assign(PngImage);
SourceBitmap.SaveToFile('TestIn.bmp');
imgSource.Picture.Assign(SourceBitmap);
finally
PngImage.Free();
SourceBitmap.Free();
end;
当我将此 TBitmap 保存到TestIn.bmp
文件并使用任何图像查看器打开它时,我可以看到透明度。但是当我将它分配给 TImage 时,透明像素显示为黑色(TImage 有Transparent = True
)。
如何在 TImage 上正确显示具有透明度的 TBitmap?