У меня есть TBitmap, который содержит полупрозрачное изображение с альфа-каналом (в этом примере я получил его из 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
).
Как правильно отображать TBitmap с прозрачностью на TImage?