本文整理自网络,侵删。
// 方法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 net.httpclient正则批量获取网页代码中的数值
Delphi 网上获取北京时间xmlhttprequest如何访问需要安全验证的网站
pos、ansipos、fillchar在Delphi2010中unicode的问题
更多相关阅读请进入《Delphi》频道 >>