



É necessário estar declarado Graphics, Windows na seção uses,
em versões unicode declare Vcl.Graphics, Winapi.Windows;
1 2 3 4 5 6 7 8 9 10 11 12 13 | function BmpToIco(Bitmap : TBitmap): TIcon; var IconInfo: TIconInfo; begin IconInfo.fIcon := True; IconInfo.xHotspot := Bitmap.Width; IconInfo.yHotspot := Bitmap.Height; IconInfo.hbmColor := Bitmap.Handle; IconInfo.hbmMask := Bitmap.MaskHandle; Result := TIcon.Create; with Result do Handle := CreateIconIndirect(IconInfo); end; |
Exemplo de uso:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | procedure TForm1.Button1Click(Sender: TObject); var vBitmap: TBitmap; vIcon: TIcon; begin vBitmap := TBitmap.Create; vBitmap.LoadFromFile('D:\teste.bmp'); vIcon := BmpToIco(vBitmap); vIcon.SaveToFile('D:\teste.ico'); vIcon.Free; vBitmap.Free; end; |