TImageList
动态地给它加入BitMap,并使其某一色为透明色
var
 tmp : Tbitmap;begin
 Tmp := Tbitmap.create;
 Tmp.TransparentColor := clTeal;
 Tmp.Transparent := True;
 TImageList1.Add(Tmp, Tmp);end; 不行呢,它还是原汁原味,clTeal根本不会透明…… :(

解决方案 »

  1.   

    实在不行用API   SetBkMode( hdc,TRANSPARENT    );试试
      

  2.   

    function Add(Image, Mask: TBitmap): Integer;
    上面的方法是imagelist的增加图像的方法,要透明的话,必须mask有值。
    至于mask的值是什么,可以参考下面的连接:
    http://www.ittide.com/document/article/graphic/58.html
    透明是几幅图像合成的结果.
      

  3.   

    var
     tmp : Tbitmap;begin
     Tmp := Tbitmap.create;
     Tmp.LoadFromFile(filename);
     TImageList1.AddMasked(Tmp,Tmp.Canvas.pixels[0,0]);
    end;
      

  4.   

    同意楼上,TImageList默认左上角的哪一点为透明色的点