Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Qualität eines Icon verbessern? (https://www.delphipraxis.net/37854-qualitaet-eines-icon-verbessern.html)

Chris P 11. Jan 2005 13:21


Qualität eines Icon verbessern?
 
Hi Leute,

ich habe ein kleines Programm geschrieben, welches aus einem Dateinamen das Icon liefert.
Das funktiontiert ohne Probleme!

Aber warum hat das Icon eine schlechte Qualität wenn ich es abspeicher?


Zum Beispiel hat das Icon eines Word Docs nicht die Qualität des Originals!
Kann man die Auflösung beeinflußen?

Bernhard Geyer 11. Jan 2005 13:23

Re: Qualität eines Icon verbessern?
 
Icons können mit mehreren Auflösunge/Farbtiefen definiert sein.
Vermutlich fragst Du nur das Icon mit einer geringen Farbtiefe/Auflösung ab (Code wäre hilfreich)?

Chris P 11. Jan 2005 13:29

Re: Qualität eines Icon verbessern?
 
Delphi-Quellcode:
function IconFromFile(const Filename: string; IconIndex: Word = 0): HICON;
var
   Buffer: array[0..2 * MAX_PATH] of Char;
begin
   StrPCopy(Buffer, Filename);
   Result := ExtractAssociatedIcon(hInstance, Buffer, IconIndex);
end;

procedure SaveAsIcon(const FileName: string; Icon: TIcon);
begin
   if (Icon.Handle <> 0) then
        Icon.SaveToFile(Filename);
end;

Bernhard Geyer 11. Jan 2005 13:38

Re: Qualität eines Icon verbessern?
 
Probier mal die Funktion SHGetFileInfo. Dort kannst Du angeben, welche Infos (z.B. kleines/großes Icon) Du haben willst.

MagicAndre1981 11. Jan 2005 13:40

Re: Qualität eines Icon verbessern?
 
Hi,

ich glaube TIcon kann nur mit Icons, die 16 Farben haben richtig umgehen.

MagicAndre1981

Chris P 11. Jan 2005 13:47

Re: Qualität eines Icon verbessern?
 
Wie baut man SHGetFileInfo am Geschicktesten in meinen Source ein?

Christian Seehase 11. Jan 2005 13:49

Re: Qualität eines Icon verbessern?
 
Moin Chris,

ich denke wenn Du hier mal nach Hier im Forum suchenSHGetFileInfo suchst, wirst Du einige Fundstellen haben, die die Handhabung erklären.

perle 11. Jan 2005 14:11

Re: Qualität eines Icon verbessern?
 
alternativ auch so:


Delphi-Quellcode:
uses ShellApi;

procedure TForm1.FormCreate(Sender: TObject);
var
  kleines_icon, grosses_icon : HICON;
  icon : TIcon;
begin
  ExtractIconEx(Pchar(Application.Exename),0,grosses_icon,kleines_icon,1);
  with TIcon.Create do
    begin
      Handle := grosses_icon;
      SaveToFile('C:\icon_gross.ico');
      Handle := kleines_icon;
      SaveToFile('C:\icon_klein.ico');
      Free;
    end;
end;

Chris P 11. Jan 2005 14:26

Re: Qualität eines Icon verbessern?
 
@perle:

Guter Vorschlag, aber ich will nicht nur das Icon einer EXE, sondern von allen Dateien.

perle 11. Jan 2005 14:35

Re: Qualität eines Icon verbessern?
 
Code:
HICON ExtractIconEx(

    LPCSTR lpszFile,   
    int nIconIndex,   
    HICON FAR * phiconLarge,   
    HICON FAR * phiconSmall,   
    UINT nIcons    
   );   
 

lpszFile

Pointer to a null-terminated string specifying the name of an executable file, DLL, or icon file.
wie du siehst, kannst du der Funktion als ersten Parameter nicht nur "EXEn" übergeben.


EDIT : Stumpfsinn gepostet....vergiss das einfach :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:53 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz