Я пытаюсь сделать иконку экстрактором
Мне удалось получить иконку для image1.picture.icon, она выглядит так же, как оригинальная иконка файла,
но когда я пытаюсь сохранить (iamge1.picture.icon.savetofile (c: \ imahe.ico))
это не экономия как есть, это экономия с меньшим количеством цветов и выглядит уродливо
Может кто-нибудь, пожалуйста, скажите мне, что я делаю не так?
вот мой код
procedure TForm1.Button1Click(Sender: TObject);
begin
OpenDialog1.Filter:='All files |*.*';
OpenDialog1.Title:='Please select file';
if OpenDialog1.Execute then
Edit1.Text:=OpenDialog1.FileName;
end;
procedure TForm1.Button3Click(Sender: TObject);
var
szFileName: string;
Icon: TIcon;
SHInfo: TSHFileInfo;
begin
szFileName := Edit1.Text;
if FileExists(Edit1.Text) then
begin
Icon := TIcon.Create;
SHGetFileInfo(PChar(szFileName), 0, SHInfo, SizeOf(SHInfo), SHGFI_ICON);
Icon.Handle := SHInfo.hIcon;
Image1.Picture.Icon := Icon;
end;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
Image1.Picture.Icon.SaveToFile(SaveDialog1.FileName+'.ico');
ShowMessage('done');
end;
end;