//Method 1varIcon:ticon; Bitmap:tbitmap;beginIcon:= 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;//Method 2procedureTform1.convertclick (sender:tobject);varWindc, SRCDC, DESTDC:HDC; Oldbitmap:hbitmap; Iinfo:ticoninfo;beginGeticoninfo (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;proceduretform1.formcreate (sender:tobject);beginImage1.picture.icon.loadfromfile ('C:\myicon.ico');End;
http://blog.csdn.net/yanjiaye520/article/details/6676215
Delphi converts an ICO to BMP