本帖最后由 xhh_88 于 2011-04-15 11:06:37 编辑

解决方案 »

  1.   

    这与使用什么画刷有关系吗,如果把ico文件换成png文件,就能显示alpha通道的!
      

  2.   

    还有,我用gdi+   的 GdipCreateBitmapFromFile,是直接支持 ico的,这样能显示alpha通道!但要提 取exe中的ico,就不能用GdipCreateBitmapFromFile
      

  3.   

    现在是GDI+无法无失真的读取ICO文件,如果可以那问题就解决了! 
    获取真彩ICO很容易啊!下面就可以!
    var
      finfo: _SHFILEINFO;
      ico :TIcon;
    begin
          SHGetFileInfo(pchar('C:\tmp.exe')
          ,0,finfo,sizeof(finfo),SHGFI_LARGEICON  or SHGFI_ICON or SHGFI_SYSICONINDEX);
          ico:=ticon.Create;
          ico.Handle:=finfo.hIcon;
          ico.SaveToFile('c:\32位真彩.ico');
          ico.Free;