Welche Symbolgrößen sollte das Symbol meiner Windows-Anwendung enthalten?

236

Ich habe eine Windows-Anwendung, die unter Windows XP und neuer (dh Vista / 7) ausgeführt wird. Gemäß den Richtlinien für die Vista-Benutzeroberfläche sind die Standardgrößen 16 x 16, 32 x 32, 48 x 48, 256 x 256 (XP-Standardgrößen enthalten kein 256 x 256-Symbol). Zusätzlich zu diesen Größen habe ich auch 96x96 und 128x128 (und könnte mehr erstellen).

Welche dieser Symbolgrößen sollte ich einschließen? Wird die Shell tatsächlich die "nicht standardmäßigen" Größen verwenden oder werde ich meine Anwendung einfach aufblähen?

Daniel Rose
quelle
3
Diese Seite ist eine großartige Referenz für Symbolgrößen
Mark Hatton

Antworten:

303

Ich nahm mir etwas Zeit, um es im Detail zu überprüfen. Ich habe ein Symbol erstellt, dessen Bilder die Größen 16, 24, 32, 40, 48, 64, 96, 128 und 256 haben. Dann habe ich überprüft, welches Bild angezeigt wird. Alle diese wurden mit normalen 96 dpi durchgeführt. Wenn Sie eine größere DPI verwenden, können die größeren Größen verwendet werden (dies wurde in Windows 7 nur ein wenig überprüft). Die Ergebnisse:

Windows XP:

  • Explorer-Ansichten:
    • Details / Liste: 16
    • Symbole: 32
    • Fliesen / Thumbnails: 48
  • Rechtsklick-> Eigenschaften / Neues Symbol auswählen: 32
  • Schnellstartbereich: 16
  • Desktop: 32

Windows 7:

  • Explorer-Ansichten:
    • Details / Liste / Kleine Symbole: 16
    • Alle anderen Optionen: 256 (Größe ändern, falls erforderlich)
  • Rechtsklick-> Eigenschaften / Neues Symbol auswählen: 32
  • An Taskleiste angeheftet: 32
    • Rechtsklick-Menü: 16
  • Desktop:
    • Kleine Symbole: 32
    • Mittlere Symbole: 48
    • Große Symbole: 256 (bei Bedarf in der Größe geändert)
    • Zoomen mit Strg + Mausrad: 16, 32, 48, 256

Windows Runtime: ( von hier )

  • Hauptplättchen: 150x150, 310x150 (breite Version)
  • Kleines Logo: 30x30
  • Abzeichen (für Sperrbildschirm): 24x24, einfarbig
  • Begrüßungsbildschirm: 620 x 300
  • Laden: 50x50

Das Ergebnis: Windows XP verwendet Symbole der Größe 16, 32 und 48, während Windows 7 (und vermutlich auch Vista) Symbole der Größe 256 verwendet. Alle anderen mittleren Symbolgrößen werden ignoriert (sie können in einem Bereich verwendet werden, den ich nicht überprüft habe).


Ich habe auch in Windows 7 überprüft, was passiert, wenn Symbolgrößen fehlen:

Die fehlenden Größen werden (offensichtlich) generiert. Bei den Größen 16, 32 und 48 wird eine Verkleinerung bevorzugt, wenn eine fehlt. Wenn wir also Symbole mit den Größen 16 und 48 haben, wird das 32-Symbol aus dem 48-Symbol erstellt. Das 256-Symbol wird für diese nur verwendet, wenn keine anderen Größen verfügbar sind! Wenn die Symbole also die Größen 16 und 256 haben, werden die anderen Größen vom 16-Symbol hochskaliert!

Wenn das 256-Symbol nicht vorhanden ist, wird das (möglicherweise generierte) 48-Symbol verwendet, jedoch nicht mehr in der Größe geändert. Wir haben also einen (möglicherweise großen) leeren Bereich mit dem 48-Symbol in der Mitte.

Beachten Sie, dass die Standardgröße für Desktopsymbole in XP 32 x 32 war, während sie in Windows 7 48 x 48 beträgt. Infolgedessen ist es für Windows 7 relativ wichtig, ein 48-Symbol zu haben. Andernfalls wird es von einem kleineren Symbol hochskaliert, das möglicherweise ziemlich hässlich aussieht.


Nur ein Hinweis zur Windows XP-Kompatibilität: Wenn Sie das Symbol als Fenstersymbol wiederverwenden, beachten Sie, dass dies Ihre Anwendung zum Absturz bringen kann, wenn Sie ein komprimiertes 256-Symbol verwenden. Die Lösung besteht darin, entweder das Symbol nicht zu komprimieren oder eine zweite Version ohne das (komprimierte) 256-Symbol zu erstellen. Sehen Sie hier für weitere Informationen.

Daniel Rose
quelle
12
Nun, hier steht , dass 64px ebenfalls erforderlich ist, und in den offiziellen Symbolrichtlinien heißt es, dass auch 20px, 24px und 40px empfohlen werden. Das 40px-Symbol scheint in Alt + Tab und Ballons verwendet zu werden, andere scheinen abhängig von der DPI verwendet zu werden (z. B. 20px anstelle von 16px in einem Bildschirm mit höherer DPI, andernfalls verkleinert von der größeren 32px-Größe, die möglicherweise aussieht noch hässlicher). Nicht getestet.
Camilo Martin
2
Ich habe noch ein paar Tests gemacht. Für die Anzeige auf dem Desktop, wenn ich es unter Windows 7 auf 144 dpi ("150%") eingestellt habe, wurde für das kleinstmögliche Symbol das 24px-Symbol verwendet (falls vorhanden, andernfalls 16px). Aus den Symbolrichtlinien geht hervor, dass es unter Vista einen "klassischen Modus" gibt, der auch das 64px-Symbol verwendet. Windows 7 verwendet es jedoch nicht. Stattdessen wird nur die Größe des 256px-Symbols geändert.
Daniel Rose
Interessant, danke für die Funde. Auf jeden Fall weiß ich nicht, wie viele Anwendungen in freier Wildbahn mehr als 16, 32, 48 und (hoffentlich) 256 Pixel große Symbole haben. Ich würde sehr wenige erraten. Aber vielleicht würden Benutzer es bemerken, weil ein Symbol zwischen den anderen knackiger ist.
Camilo Martin
@Camilo Beachten Sie, dass die Größe mit STRG + Mausrad geändert werden kann und alle "dazwischen" -Größen hoch / runter gedreht werden. Was jedoch definitiv bemerkt wird, ist, wenn das 48px-Symbol fehlt, da dies die Größe ist, die auf dem Standard-Windows 7-Desktop verwendet wird.
Daniel Rose
3
Und es fehlt die Hälfte der Zeit, wenn die Anwendung ein Dienstprogramm und keine sehr beliebte oder alte Software ist ... Selbst einige der Visual Studio-Symbole (die für Dateitypen) haben nicht einmal 48px-Versionen.
Camilo Martin
28

Nach einigen Tests mit einem Symbol mit 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 und 256 Pixel (256 in PNG) in Windows 7:

  • Bei 100% Auflösung: Der Explorer verwendet 16, 40, 48 und 256. Windows Photo Viewer verwendet 96. Paint verwendet 256.
  • Bei einer Auflösung von 125%: Der Explorer verwendet 20, 40 und 256. Windows Photo Viewer verwendet 96. Paint verwendet 256.
  • Bei einer Auflösung von 150%: Der Explorer verwendet 24, 48 und 256. Windows Photo Viewer verwendet 96. Paint verwendet 256.
  • Bei einer Auflösung von 200%: Der Explorer verwendet 40, 64, 96 und 256. Windows Photo Viewer verwendet 128. Paint verwendet 256.

8, 32 wurden also nie verwendet (es ist mir für 32 seltsam) und 128 nur von Windows Photo Viewer mit einem sehr hohen dpi-Bildschirm, dh almot wurde nie verwendet.

Dies bedeutet, dass Ihr Symbol mindestens 16, 48 und 256 für Windows 7 bereitstellen sollte. Um neuere Bildschirme mit hohen Auflösungen zu unterstützen, sollten Sie 16, 20, 24, 40, 48, 64, 96 und 256 angeben. Für Windows 7 alle Bilder können mit PNG komprimiert werden. Aus Gründen der Abwärtskompatibilität mit Windows XP sollten 16 bis 48 nicht komprimiert werden.

Futal
quelle
Siehe meine Antwort hier ( stackoverflow.com/questions/12385143/… ), aber wenn Sie das 256x256-Image in der .ico-Datei komprimieren ... Windows XP-Systeme haben Probleme beim Öffnen der Datei. Sie erhalten eine FileFormatException mit HRESULT 0x88982F07.
Plots
Es lohnt sich auch jene hohen DPI - Versionen zu erwähnen , müssen in 24 bpp Modus gespeichert werden, ich habe versucht , sie in 8 - Bit - Farbmodus zu speichern und Windows 7 verwendet 256px Version statt 20x20px in 125% DPI.
Bartosz Wójcik
2
Das ist einfach, aber erschöpfend. Sehr wichtig, um DPI zu berücksichtigen.
Caesay
24

Die Microsoft UX-Symbolrichtlinie lautet:

"Anwendungssymbole und Elemente der Systemsteuerung: Der vollständige Satz umfasst 16 x 16, 32 x 32, 48 x 48 und 256 x 256 (Codeskalen zwischen 32 und 256)."

Für mich bedeutet dies (aber leider nicht ausdrücklich), dass Sie diese 4 Größen liefern sollten.

Zusätzliche Details zu Farbformaten, die Sie möglicherweise auch nützlich finden:

  • "Für Symboldateien sind auch 8-Bit- und 4-Bit-Palettenversionen erforderlich, um die Standardeinstellung auf einem Remotedesktop zu unterstützen."

  • "Es sollte nur eine 32-Bit-Kopie des 256 x 256-Pixel-Bildes enthalten sein, und nur das 256 x 256-Pixel-Bild sollte [als PNG] komprimiert werden, um die Dateigröße gering zu halten."

Stein
quelle
12

Im Fall von Windows 10 ist dies nicht genau, tatsächlich war keine der Antworten auf Stackoverflow. Ich habe dies herausgefunden, als ich versucht habe, Pixel Art als Symbol zu verwenden, und es wurde neu skaliert, wenn es nicht sollte (es war einfach) Um in diesem Fall die Ursache für die Interpolations- und Glättungsfenster zu sehen, habe ich auch die Größen aus diesem Beitrag verwendet.

Also habe ich eine App erstellt und die Arbeit an allen DPI-Einstellungen erledigt, siehe hier:
Windows 10 alle Symbolauflösungen für alle DPI-Einstellungen
Sie können meine App auch zum Erstellen von Symbolen verwenden, auch mit Interpolation des nächsten Nachbarn mit Glättung, was nicht erfolgt mit einem der schlechten Redakteure, die ich gesehen habe.

Wenn Sie nur die Auflösungen möchten:
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84, 256
, sollten Sie alle PNG-Symbole und alles, was Sie eingeben, verwenden daneben wird es nicht angezeigt. Siehe meinen Beitrag warum.

z4k
quelle
7

Nicht 96x96, sondern 64x64. Ich benutze normalerweise:

  • 16 - Status- / Titelleistenschaltfläche
  • 32 - Desktop-Symbol
  • 48 - Ordneransicht
  • 64/128 - Zusätzliche Größen

256 funktioniert auch unter XP, jedoch beschwerten sich alte Ressourcen-Compiler manchmal über "Nicht genügend Speicher" -Fehler.

Christian
quelle
Ich habe gesehen, dass Sie sich schon einmal mit Java befasst haben. Wie kann ich ein solches Verhalten mit Java implementieren? Das Problem ist, dass das in der System-Taskleiste angezeigte Symbol im Vergleich zum Symbol in der Titelleiste viel größer ist und vom System nicht richtig angepasst werden kann. Ich kann höchstens stage.getIcons (). Add (image); Ich kann jedoch nicht angeben, welche Größe und wo sie sich befindet, z. B. die Taskleiste, die Ordneransicht oder andere Elemente. Ich benutze JavaFX 8
Homerun
1
@someFolk Java wird in "Klassendateien" oder eine "JAR" -Datei kompiliert (eine Zip-Datei mit Klassendateien + Manifest). Mit anderen Worten, es wird nicht in PE (ausführbare Windows-Dateien) kompiliert. Es gibt jedoch Tools, die Wrapper für Sie erstellen - im Grunde genommen kleine Programme, die das JAR als Ressource enthalten (das extrahiert und ausgeführt wird, wenn das Programm ausgeführt wird). In der Antwort werden einige davon erwähnt. Dies bedeutet, dass Ihr Problem von dem von Ihnen verwendeten Programm abhängt. Es gibt jedoch Tools zum Bearbeiten von Ressourcen (z. B. Resource Hacker )
Christian
2

Aus Microsoft MSDN-Empfehlungen :

Anwendungssymbole und Elemente der Systemsteuerung : Der vollständige Satz umfasst 16 x 16, 32 x 32, 48 x 48 und 256 x 256 (Codeskalen zwischen 32 und 256). Das .ico-Dateiformat ist erforderlich. Für den klassischen Modus ist der vollständige Satz 16 x 16, 24 x 24, 32 x 32, 48 x 48 und 64 x 64.

Wir haben also bereits empfohlene Standardgrößen von:

  • 16 x 16,
  • 24 x 24,
  • 32 x 32,
  • 48 x 48,
  • 64 x 64,
  • 256 x 256.

Wenn wir Einstellungen mit hoher DPI unterstützen möchten, enthält die vollständige Liste auch die folgenden Größen:

  • 20 x 20,
  • 30 x 30,
  • 36 x 36,
  • 40 x 40,
  • 60 x 60,
  • 72 x 72,
  • 80 x 80,
  • 96 x 96,
  • 128 x 128,
  • 320 x 320,
  • 384 x 384,
  • 512 x 512.
Jacek Krawczyk
quelle