Delphi - база знаний

       

ICO ---> BMP


ICO ---> BMP



Var
Icon: TIcon;
Bitmap : TBitmap;
begin
  Icon   := TIcon.Create;
  Bitmap := TBitmap.Create;


  Icon.LoadFromFile('c:\picture.ico');
  Bitmap.Width := Icon.Width;
  Bitmap.Height := Icon.Height;
  Bitmap.Canvas.Draw(0, 0, Icon);
  Bitmap.SaveToFile('c:\picture.bmp');
  Icon.Free;
  Bitmap.Free;
end;

Взято с сайта


procedure TIconShow.FileListBox1Click(Sender: TObject);
var

  MyIcon: TIcon;
  MyBitMap: TBitmap;
begin

  MyIcon := TIcon.Create;
  MyBitMap := TBitmap.Create;

  try
    { получаем имя файла и связанную с ним иконку}
    strFileName := FileListBox1.Items[FileListBox1.ItemIndex];
    StrPCopy(cStrFileName, strFileName);
    MyIcon.Handle := ExtractIcon(hInstance, cStrFileName, 0);

    { рисуем иконку на bitmap в speedbutton }
    SpeedButton1.Glyph := MyBitMap;
    SpeedButton1.Glyph.Width := MyIcon.Width;
    SpeedButton1.Glyph.Height := MyIcon.Height;
    SpeedButton1.Glyph.Canvas.Draw(0, 0, MyIcon);

    SpeedButton1.Hint := strFileName;

  finally
    MyIcon.Free;
    MyBitMap.Free;
  end;
end;



Чтобы преобразовать Icon в Bitmap используйте TImageList. для обратного преобразования замените метод AddIcon на Add, и метод GetBitmap на GetIcon. 



function Icon2Bitmap(Icon: TIcon): TBitmap;
begin
  with TImageList.Create (nildo
  begin
    AddIcon (Icon);
    Result := TBitmap.Create;
    GetBitmap (0, Result);
    Free;
  end;
end;

Взято из


 




Содержание раздела