AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Qualität eines Icon verbessern?
Thema durchsuchen
Ansicht
Themen-Optionen

Qualität eines Icon verbessern?

Ein Thema von Chris P · begonnen am 11. Jan 2005 · letzter Beitrag vom 12. Jan 2005
Antwort Antwort
Seite 1 von 2  1 2      
Chris P

Registriert seit: 8. Mär 2004
230 Beiträge
 
Delphi 7 Enterprise
 
#1

Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:21
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?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:23
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)?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Chris P

Registriert seit: 8. Mär 2004
230 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:29
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;
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer
Online

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:38
Probier mal die Funktion SHGetFileInfo. Dort kannst Du angeben, welche Infos (z.B. kleines/großes Icon) Du haben willst.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von MagicAndre1981
MagicAndre1981

Registriert seit: 4. Jun 2004
Ort: Nordhausen
2.214 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:40
Hi,

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

MagicAndre1981
André
  Mit Zitat antworten Zitat
Chris P

Registriert seit: 8. Mär 2004
230 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:47
Wie baut man SHGetFileInfo am Geschicktesten in meinen Source ein?
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 14:49
Moin Chris,

ich denke wenn Du hier mal nach Hier im Forum suchenSHGetFileInfo suchst, wirst Du einige Fundstellen haben, die die Handhabung erklären.
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
perle

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 15:11
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;
  Mit Zitat antworten Zitat
Chris P

Registriert seit: 8. Mär 2004
230 Beiträge
 
Delphi 7 Enterprise
 
#9

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 15:26
@perle:

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

Registriert seit: 8. Apr 2004
183 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: Qualität eines Icon verbessern?

  Alt 11. Jan 2005, 15:35
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:35 Uhr.
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