本文整理自网络,侵删。
// 方法1var Icon : TIcon; Bitmap : TBitmap;begin Icon := TIcon.Create; Bitmap := TBitmap.Create; Icon.LoadFromFile('c:\picture.ico'); //Load an ICOfrom File Bitmap.Width := Icon.Width; Bitmap.Height := Icon.Height; Bitmap.Canvas.Draw(0, 0, Icon ); Bitmap.SaveToFile('c:\picture.bmp'); //Convert ICO toBMP! Icon.Free; Bitmap.Free;end;
// 方法2procedure TForm1.ConvertClick(Sender: TObject);var winDC, srcdc, destdc : HDC; oldBitmap : HBitmap; iinfo : TICONINFO;begin GetIconInfo(Image1.Picture.Icon.Handle, iinfo); WinDC := getDC(handle); srcDC := CreateCompatibleDC(WinDC); destDC := CreateCompatibleDC(WinDC); oldBitmap := SelectObject(destDC, iinfo.hbmColor); oldBitmap := SelectObject(srcDC, iinfo.hbmMask); BitBlt(destdc, 0, 0,Image1.picture.icon.width,Image1.picture.icon.height,srcdc,0, 0, SRCPAINT); Image2.picture.bitmap.handle := SelectObject(destDC,oldBitmap); DeleteDC(destDC); DeleteDC(srcDC); DeleteDC(WinDC); image2.Picture.Bitmap.savetofile(ExtractFilePath(Application.ExeName)+ 'myfile.bmp');end;procedure TForm1.FormCreate(Sender: TObject);begin image1.picture.icon.loadfromfile('c:\myicon.ico');end;
相关阅读 >>
Delphi获取计算机的工作组信息和获取工作组中的计算机名称
Delphi 打开win8及以上操作系统的系统已安装程序目录
更多相关阅读请进入《Delphi》频道 >>