delphi从imagelist中获取透明背景图片的方法

 

  1. Bitmap:= TBitmap.Create();
  2. Bitmap.TransparentMode := tmFixed; //必须在getBitmap前设置
  3. Bitmap.Transparent := True;
  4. if (ImageList.GetBitmap(SubMenu.Tag, Bitmap)) then
  5. begin
  6.     Bitmap.TransparentColor := Bitmap.Canvas.Pixels[00]; //必须在getBitmap后设置
  7. end;

如上代码,必须先设置Bitmap.TransparentMode := tmFixed; ,再GetBitmap获取图片后再设置Bitmap.TransparentColor才可以透明。GetBitmap之后再设置TransparentMode不管用。
没时间管它了,有时间和兴趣时可以看看GetBitmap调用的DoDraw函数是不是作了什么手脚。

你可能感兴趣的:(Delphi小酌)