Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Icon in Taskleiste verpixelt (https://www.delphipraxis.net/167487-icon-taskleiste-verpixelt.html)

TheGame1492 1. Apr 2012 22:39

Icon in Taskleiste verpixelt
 
Ahoi,

ich hab als Beispiel mal das Icon hier genommen: http://www.iconarchive.com/show/hall...sk-3-icon.html (.ico)

(es hat ja alle größen)

ich lade es zuerst über die Projekt-Optionen(Anwendung->Einstellung für Programmsymbol) und denn noch via dem Objektinspektor (unter Icons) rein.

Das Icon der Projekt.exe wird dann im Projekt-Ordner in allen größen korrekt angezeigt, nur in der Taskleiste ist es verpixelt (wirkt gestreckt). :?

Bei anderen Icons ist das das gleiche, woran liegt das?

PS: nutze XE2

himitsu 1. Apr 2012 22:48

AW: Icon in Taskleiste verpixelt
 
Viele Icon-Komponenten verwalten nur ein Icon => Das Erste aus der Datei, also meist das Kleinste.
Eventuell verstehen sie auch nur die Bitmap-Icon-Versionen und nicht die neueren als PNG.

Versuch mal das TIcon auf ein TBitmap/TImage zu zeichnen.


[edit]
Hmm, TIcon geht direkt über die WinAPI MSDN-Library durchsuchenDrawIconEx, da sollte dann alles gehn, was Windows kennt. :gruebel:

Popov 1. Apr 2012 22:50

AW: Icon in Taskleiste verpixelt
 
Geht es hier um das TrayIcon in der Taskleiste oder das Applikations-Icon in des Taskleiste?

//Edit

Wenn es um das TrayIcon geht, da muß ich dir Recht geben, es sieht nicht selten gerquetscht aus. Ich hab mich auch immer drüber geärgert. Das Problem kommt wenn man es so macht:

Delphi-Quellcode:
NotifyIconData.hIcon := Application.Icon.Handle;
Hier wird das erste Icon genommen, z. B. 32x32 und zu 16x16 verkleinert. Und das sieht gelegentlich nicht gut aus.

Die kösung die ich mache ist einfach:

Delphi-Quellcode:
NotifyIconData.hIcon := Self.Icon.Handle;
Das Main-Formular bekommt ein 16x16 Icon zugewiesen (andere nutzt er sowieso nicht). Und dann nutze ich dieses Icon. Du kannst es aber auch aus anderen Quellen nutzen, dann aber für diese Aufgabe das 16x16 Icon nutzen.

TheGame1492 1. Apr 2012 22:51

AW: Icon in Taskleiste verpixelt
 
Applikations-Icon

Bernhard Geyer 1. Apr 2012 22:54

AW: Icon in Taskleiste verpixelt
 
Was passiert wenn du den Exe-Namen änderst? Evtl. ist mal wieder der Windows-Icon-Cache zerschossen.

TheGame1492 1. Apr 2012 23:11

AW: Icon in Taskleiste verpixelt
 
Ok thx habs nun wiefolgt hinbekommen

Code:
icon := TIcon.Create;
icon.LoadFromFile('Mask-3.ico');
Application.Icon.Handle := icon.Handle;
da wirds denn korrekt in der Taskleiste angezeigt, komisch :roteyes:

himitsu 1. Apr 2012 23:21

AW: Icon in Taskleiste verpixelt
 
Kann gut sein, daß der Linker das Icon falsch einbindet, oder das in TApplication das Icon falsch/unvollständig reingeladen wird.

Delphi-Quellcode:
Application.Icon.LoadFromFile();

Application.Icon.LoadFromResourceID();
Application.Icon.LoadFromResourceName();
// eventuell die IconResource selbst nochmal zusätzlich in die EXE einbinden, falls der Linker das Problem ist

Becus25 15. Mai 2013 20:14

AW: Icon in Taskleiste verpixelt
 
Ich habe das Problem jetzt auch und noch keine Lösung,
die ICO Datei wird als EXE Icon Verpixelt in der Taskbar angezeigt.

Das ICO hat mehrere Grafiken in sich in allen größen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:25 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