| 
	(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;
 
 |