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?
Antworten:
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:
Windows 7:
Windows Runtime: ( von hier )
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.
quelle
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:
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.
quelle
Die Microsoft UX-Symbolrichtlinie lautet:
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:
quelle
(Aktualisierte Antwort für Windows 8/10)
Die vollständige Liste der Richtlinien und Größen finden Sie hier in den neuen Windows-Designrichtlinien: https://msdn.microsoft.com/en-us/windows/uwp/controls-and-patterns/tiles-and-notifications-app-assets#asset -Typen
Fügen Sie weiterhin .ICO-Dateien mit diesen Größen hinzu, um ältere Erfahrungen zu unterstützen:
quelle
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.
quelle
Nicht 96x96, sondern 64x64. Ich benutze normalerweise:
256 funktioniert auch unter XP, jedoch beschwerten sich alte Ressourcen-Compiler manchmal über "Nicht genügend Speicher" -Fehler.
quelle
Aus Microsoft MSDN-Empfehlungen :
Wir haben also bereits empfohlene Standardgrößen von:
Wenn wir Einstellungen mit hoher DPI unterstützen möchten, enthält die vollständige Liste auch die folgenden Größen:
quelle