Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Icon wird mit weniger Farben gespeichert als das Original (https://www.delphipraxis.net/47045-icon-wird-mit-weniger-farben-gespeichert-als-das-original.html)

Zacherl 5. Jun 2005 18:16


Icon wird mit weniger Farben gespeichert als das Original
 
Hallo,
ich habe folgendes Problem:

ich extrahiere ein Icon aus einer Datei und speichere das Ergebniss in einem TIcon.
Ich verwende Canvas.Draw(5, 5, ExtIcon) um eine Vorschau anzuzeigen. Das funktioniert auch wunderbar, aber wenn ich ExtIcon.SaveToFile('test.ico') aufrufe wird dass Icon zwar gespeichert, aber Icons mit mehr als 256 Farben werden nicht als solche gespeichert. Das gespeicherte Icon hat immer weniger Farben, als das Original :wall: ... Aber in der Vorschau ist alles ok.

Gibt es vielleicht eine Möglichkeit das Icon in ein Bitmpa zu laden und dieses als Icon zu speichern?
Oder kennt jemand eine andere Lösung des Problems?

Florian

DP-Maintenance 5. Jun 2005 18:18

DP-Maintenance
 
Dieses Thema wurde von "alcaeus" von "Sonstige Fragen zu Delphi" nach "Multimedia" verschoben.
Gehoert wohl eher nach Multimedia

DGL-luke 5. Jun 2005 19:45

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
war es nicht immer so:

Icon == Gif89a ?!

funktioniert jedenfalls bei favicons.....

Zacherl 6. Jun 2005 06:16

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Tut mir Leid, aber ich weis nicht was du meinst...

Florian

marabu 6. Jun 2005 08:00

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Hallo Florian,
Zitat:

Zitat von Florian Bernd
ich extrahiere ein Icon aus einer Datei und speichere das Ergebniss in einem TIcon.

wie machst du das? Nimmst du Assign(), dann wird beim Schreiben mit SaveToFile() die Farbtiefe auf 4-bit eingestellt. Bei LoadFromFile() gibt es dieses Problem nicht. Versuche es mal mit LoadFromStream().

Grüße vom marabu

Zacherl 6. Jun 2005 15:36

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Meine Funktion gibt ein HIcon Handle zurück, welches ich dann dem TIcon zuweise:

Delphi-Quellcode:
ExtIcon := TIcon.Create;
ExtIcon.Handle := IconFromFile('test.exe', 0);
Hier noch die Extrahierfunktion:

Delphi-Quellcode:
function IconFromFile(const Filename: String; IconNr: Word): HICON;
var buffer: array[0..2*MAX_PATH]of Char;
begin
  StrPCopy(buffer, Filename);
  Result := ExtractAssociatedIcon(HInstance, buffer, IconNr);
end;
kann man denn die Farbtiefe manuell einstellen?

Florian

DGL-luke 6. Jun 2005 16:48

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Zitat:

Zitat von Florian Bernd
Tut mir Leid, aber ich weis nicht was du meinst...

Florian

ja, sorry.

es ist so: ein favicon(symbol das neben der adresse erscheint) für eine website heisst immer "favicon.ico" und liegt im root-dir, da wo auch index.html ist. erzeugen kann man sie, indem man eine gif-datei nimmt und die dateinmanenserweiterung auf .ico ändert.

ich habs gerade nochmal ausprobiert. gif->ico scheint zu gehen, andersrum aber nicht.

Zacherl 6. Jun 2005 17:40

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Das Problem ist nur, dass Gif meines Wissens Nach auch nur 265 Farben unterstüzt. Und manche Icons haben ja mehr als die 256 Farben ...

Florian

SirThornberry 6. Jun 2005 18:42

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
das favicon heißt nicht immer "favicon.ico". Im Header eine HTML-Datei kann auch ein andere Dateiname für das favicon stehen.

jfheins 6. Jun 2005 19:28

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Zitat:

Zitat von DGL-luke
erzeugen kann man sie, indem man eine gif-datei nimmt und die dateinmanenserweiterung auf .ico ändert.

Aua, es mag vielleicht gehen, aber:
Zitat:

Sind Icons nur umbenannte BMP- oder GIF-Dateien?
Nein, .ico sind keine umbenannten Bitmap-Dateien! Durch Umbenennen von favicon.bmp in favicon.ico erhalten Sie kein funktionsfähiges Favicon, besonders im MSIE führt dies oft zu Problemen, d.h. das Favicon wird nicht angezeigt. Verwenden Sie einen Icon-Editor wie z.Bsp. Microangelo oder IrfanView, damit können Sie Dateien im ICO-Format abspeichern.
Quelle: http://favicon.de/fragen.html


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:22 Uhr.
Seite 1 von 3  1 23      

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