アルファチャンネル付きの半透明の画像を含む 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
.
TImageで透明度のあるTBitmapを正しく表示するにはどうすればよいですか?