Delphi-PRAXiS
Seite 2 von 3     12 3      

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 6. Jun 2005 20:36

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Vielen Dank für die Antworten,
aber ich glaube ihr weicht ein wenig vom Thema ab ... :???:

Ich würde das aus einer Datei extrahierte Icon wenn möglich gerne auch als *.ico speichern, nur wird ja die Frabtiefe verändert.

Die Frage ist jetzt: Kann man die Farbtiefe von TIcon manuell anpassen, oder wie kann man das Icon
anders mit der original Farbtiefe speichern.

Florian

FAlter 16. Okt 2007 19:27

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Hi,

ich würde auch gerne ein 24-Bit-Icon speichern und krame mal diesen Thread raus, da es das gleiche Problem ist, nämlich, dass es beim Speichern weniger Farben bekommt.

In meinem Fall wird das Icon über eine ImageList erstellt. Ein Teil meiner Funktion, die das TIcon zurückliefert, sieht so aus:

Delphi-Quellcode:
with TImageList.CreateSize(FWidth, FHeight) do
try
  Add(BMP, Mask);
  GetIcon(0, Result);
finally
  Free;
end;
Dabei ist BMP 24 bit und bei Mask ist 1 bit.

Wie könnte man das Icon jetzt z. B. per Win-API als 24 Bit speichern?

Mfg
FAlter

Progman 16. Okt 2007 19:41

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Für Icons kann ich nur Axialis IconWorkshop empfehlen. Der kann sogar Vista komforme Icons und macht keine Probleme mit der Farbtiefe.

FAlter 16. Okt 2007 19:54

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Hi,

ein fertiges Programm hilft mir bei dem Problem leider nicht weiter. Ich möchte mit meinem eigenen Programm ein 24 Bit TIcon speichern und nicht mit irgendeinem Programm.

Mfg
FAlter

Progman 16. Okt 2007 20:00

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hm, dann musst du aber auch berücksichtigen, dass eine ico-Datei mehrere Bilder in den unterschiedlichsten Größen (16x16 bis u.U. 256x256) und Farbtiefen enthält. Das was Delphi als ico abspeichert ist doch schon seit Delphi2 gleichgeblieben und hoffnungslos veraltet ;)
So sehen heute Windows-Icons innen aus (Anhang).

FAlter 17. Okt 2007 06:36

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Hi,

es geht mit nicht darum, einen Icon-Editor zu schreiben, sondern lediglich die Option zu geben, ein Bild auch als *.ico zu speichern. Ungefähr so wie IrfanView - das speichert dann auch nur ein einzelnes Icon. Dass Icons und Cursor verschiedene Bilder in verschiedenen Auflösungen und Farbtiefen beinhalten können, ist mir durchaus bewusst. Eines mit der richtigen Farbanzahl würde mir schon reichen.

Mfg
FAlter

Progman 17. Okt 2007 06:48

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Naja, wie gesagt, mit Delphi-Bordmitteln kann man nur Icons im uralt-Format speichern. Müsste man versuchen, rauszufinden, ob es irgendwo eine Unit/Komponente gibt, die das richtig kann. Mir ist jedenfalls keine bekannt.

FAlter 17. Okt 2007 18:15

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Hi,

ich hab in der Zwischenzeit weiter nach ner Lösung gesucht...
www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Q_20341923.html+HICON+%22save+to+file%22&hl=de&ct= clnk&cd=8&gl=de]und das gefunden[/url]. Leider kann man den direkten Link nicht lesen, daher der Umweg über den Google-Cache.

Ich werd mal ne Unit draus machen und es ausprobieren. Das würde dann auch mehrere Icons in einer Datei unterstützen.

Mfg
FAlter

Progman 17. Okt 2007 18:23

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
jo, liest sich gut, versuchs halt mal :)

FAlter 17. Okt 2007 20:39

Re: Icon wird mit weniger Farben gespeichert als das Origina
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hi,

Delphi-Quellcode:
uses
  IconTools;

var
  Icon1, Icon2: TIcon;
  FileName: String;

WriteIconsToFile(FileName, [Icon1, Icon2]);
Sieht schon mal besser aus ;-)

Mfg
FAlter


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:11 Uhr.
Seite 2 von 3     12 3      

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