(1)方法1 
	 
	var 
	 
	  Icon  : TIcon; 
	 
	  Bitmap : TBitmap; 
	 
	begin 
	 
	   Icon  := TIcon.Create; 
	 
	   Bitmap := TBitmap.Create; 
	 
	   Icon.LoadFromFile('c:\picture.ico'); //Load an ICO 
	 
	from File 
	 
	   Bitmap.Width := Icon.Width; 
	 
	   Bitmap.Height := Icon.Height; 
	 
	   Bitmap.Canvas.Draw(0, 0, Icon ); 
	 
	   Bitmap.SaveToFile('c:\picture.bmp'); //Convert ICO to 
	 
	BMP! 
	 
	   Icon.Free; 
	 
	   Bitmap.Free; 
	 
	end; 
	 
	 
	(2)方法2 
	 
	procedure 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(Applicat 
	 
	ion.ExeName)+ 'myfile.bmp'); 
	 
	end; 
	 
	 
	procedure TForm1.FormCreate(Sender: TObject); 
	 
	begin 
	 
	 image1.picture.icon.loadfromfile('c:\myicon.ico'); 
	 
	end; 
	  
 |