首页 > 解决方案 > 从资源加载时如何使 TBitmap 透明

问题描述

我正在尝试从资源中加载 TBitmap,同时保持透明。即使启用了透明属性,它看起来仍然一样。

我试图做的事情:

procedure TMovie.BitBtn1Click(Sender: TObject);
var
 BitMap1 : TBitMap;
begin
  BitMap1 := TBitMap.Create;

  BitMap1.Transparent := TRUE;
  BitMap1.TransparentColor := clBlack;

  try
    BitMap1.LoadFromResourceName(HInstance,'Bitmap_2');
    Star_2.Picture.Assign(Bitmap1);
  finally
    BitMap1.Free;
  end;
end;

标签: delphitransparencytbitmap

解决方案


您应该尝试如下反转透明度属性:

procedure TMovie.BitBtn1Click(Sender: TObject);
var
 BitMap1 : TBitMap;
begin
  BitMap1 := TBitMap.Create;
  
  try
    BitMap1.LoadFromResourceName(HInstance,'Bitmap_2');

    BitMap1.Transparent := TRUE;
    BitMap1.TransparentColor := clBlack;

    Star_2.Picture.Assign(Bitmap1);
  finally
    BitMap1.Free;
  end;
end;

推荐阅读