Quelles tailles d'icône l'icône de mon application Windows doit-elle inclure?

236

J'ai une application Windows qui fonctionnera sous Windows XP et plus récent (c'est-à-dire Vista / 7). Selon les directives de l'interface utilisateur de Vista , les tailles standard sont 16x16, 32x32, 48x48, 256x256 (les tailles standard XP n'incluent pas l'icône 256x256). En plus de ces tailles, j'ai également 96x96 et 128x128 (et je pourrais en créer plus).

Laquelle de ces tailles d'icônes dois-je inclure? Le shell utilisera-t-il réellement les tailles "non standard", ou vais-je simplement gonfler mon application?

Daniel Rose
la source
3
Ce site est une excellente référence pour les tailles d'icônes pour de nombreuses plates-formes: iconhandbook.co.uk/reference/chart
Mark Hatton

Réponses:

303

J'ai pris un peu de temps pour le vérifier en détail. J'ai créé une icône dont les images ont des tailles de 16, 24, 32, 40, 48, 64, 96, 128 et 256. Ensuite, j'ai vérifié quelle image est affichée. Tout cela a été fait avec une résolution normale de 96 dpi. Si vous utilisez un plus grand DPI, les plus grandes tailles peuvent être utilisées (uniquement vérifié un peu dans Windows 7). Les resultats:

Windows XP:

  • Vues de l'explorateur:
    • Détails / Liste: 16
    • Icônes: 32
    • Tuiles / Miniatures: 48
  • Clic droit-> Propriétés / choisir une nouvelle icône: 32
  • Zone de démarrage rapide: 16
  • Bureau: 32

Windows 7:

  • Vues de l'explorateur:
    • Détails / Liste / Petits symboles: 16
    • Toutes les autres options: 256 (redimensionné, si nécessaire)
  • Clic droit-> Propriétés / choisir une nouvelle icône: 32
  • Épinglé à la barre des tâches: 32
    • Menu contextuel: 16
  • Bureau:
    • Petits symboles: 32
    • Symboles moyens: 48
    • Grands symboles: 256 (redimensionnés, si nécessaire)
    • Zoom avec Ctrl + Molette de la souris: 16, 32, 48, 256

Windows Runtime: (à partir d'ici )

  • Carreau principal: 150x150, 310x150 (version large)
  • Petit logo: 30x30
  • Badge (pour lockscreen): 24x24, monochromatique
  • Écran de démarrage: 620x300
  • Magasin: 50x50

Ainsi, le résultat: Windows XP utilise des icônes de 16, 32, 48 tailles, tandis que Windows 7 (et probablement aussi Vista) utilise également des icônes de 256 tailles. Toutes les autres tailles d'icônes intermédiaires sont ignorées (elles peuvent être utilisées dans une zone que je n'ai pas vérifiée).


J'ai également vérifié dans Windows 7 ce qui se passe si les tailles d'icônes sont manquantes:

Les tailles manquantes sont générées (évidemment). Avec des tailles de 16, 32 et 48, s'il en manque un, la réduction d'échelle est préférée. Donc, si nous avons des icônes de taille 16 et 48, l'icône 32 est créée à partir de l'icône 48. L'icône 256 n'est utilisée pour ces derniers que si aucune autre taille n'est disponible! Donc, si les icônes sont de taille 16 et 256, les autres tailles sont augmentées de l'icône 16!

De plus, si l'icône 256 n'est pas là, l'icône 48 (éventuellement générée) est utilisée, mais n'est plus redimensionnée. Nous avons donc une zone vide (éventuellement grande) avec l'icône 48 au milieu.

Notez que la taille par défaut de l'icône du bureau dans XP était de 32 x 32, tandis que dans Windows 7, elle est de 48 x 48. Par conséquent, pour Windows 7, il est relativement important d'avoir une icône 48. Sinon, il est mis à l'échelle à partir d'une icône plus petite, qui peut sembler assez moche.


Juste une note sur la compatibilité de Windows XP: Si vous réutilisez l'icône comme icône de fenêtre, notez que cela peut planter votre application si vous utilisez une icône 256 compressée. La solution consiste à ne pas compresser l'icône ou à créer une deuxième version sans l'icône (compressée) 256. Voir ici pour plus d'informations.

Daniel Rose
la source
12
Eh bien, ici, il dit que 64px est également requis, et sur les directives d'icônes officielles, il est également recommandé de 20px, 24px et 40px. L'icône 40px semble être utilisée dans alt + tab et les ballons, d'autres semblent être utilisés en fonction du DPI (par exemple, 20px étant utilisés au lieu de 16px dans un écran à DPI plus élevé, sinon réduit à partir de la plus grande taille de 32px, qui peut sembler encore plus laid). N'ont pas été testés.
Camilo Martin
2
J'ai fait quelques tests supplémentaires. Pour l'affichage sur le bureau, lorsque je l'ai défini à 144 dpi ("150%") sous Windows 7, pour la plus petite icône possible, il a utilisé l'icône 24 pixels (s'il est là, sinon il a augmenté de 16 pixels). D'après les directives relatives aux icônes, il semble qu'il existe un "mode classique" sur Vista qui utilise également l'icône 64 pixels. Cependant, Windows 7 ne l'utilise pas. Au lieu de cela, seule l'icône 256 pixels est redimensionnée.
Daniel Rose
Intéressant, merci pour les trouvailles. En tout cas, je ne sais pas combien d'applications dans la nature ont plus de 16, 32, 48 et (espérons-le) 256 icônes px. Je suppose que très peu. Mais peut-être que les utilisateurs le remarqueraient, car une icône entre les autres est plus nette.
Camilo Martin
@Camilo Notez qu'il est possible de redimensionner avec CTRL + Mousewheel, et toutes les tailles "intermédiaires" sont uprezzed / downrezzed. Cependant, ce qui est définitivement remarqué, c'est si l'icône 48px est manquante, car c'est la taille utilisée dans le bureau par défaut de Windows 7.
Daniel Rose
3
Et il manque la moitié du temps si l'application est un utilitaire et un logiciel peu populaire, ou ancien ... Même certaines des icônes de Visual Studio (celles pour les types de fichiers) n'ont même pas de versions 48px.
Camilo Martin
28

Après quelques tests avec une icône avec 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 et 256 pixels (256 en PNG) sous Windows 7:

  • À une résolution de 100%: Explorer utilise 16, 40, 48 et 256. La visionneuse de photos Windows utilise 96. La peinture utilise 256.
  • À une résolution de 125%: Explorer utilise 20, 40 et 256. Windows Photo Viewer utilise 96. Paint utilise 256.
  • À une résolution de 150%: Explorer utilise 24, 48 et 256. La visionneuse de photos Windows utilise 96. Paint utilise 256.
  • À une résolution de 200%: Explorer utilise 40, 64, 96 et 256. Windows Photo Viewer utilise 128. Paint utilise 256.

Donc 8, 32 n'ont jamais été utilisés (c'est étrange pour moi pour 32) et 128 uniquement par Windows Photo Viewer avec un écran dpi très élevé, c'est-à-dire quasiment jamais utilisé.

Cela signifie que votre icône doit au moins fournir 16, 48 et 256 pour Windows 7. Pour prendre en charge les nouveaux écrans avec des résolutions élevées, vous devez fournir 16, 20, 24, 40, 48, 64, 96 et 256. Pour Windows 7, tous les images peuvent être compressées au format PNG, mais pour des raisons de compatibilité avec Windows XP, les 16 à 48 ne doivent pas être compressées.

Futal
la source
Voir ma réponse ici ( stackoverflow.com/questions/12385143/… ) mais si vous compressez l'image 256x256 dans le fichier .ico ... les systèmes Windows XP auront du mal à ouvrir le fichier. Vous obtiendrez une FileFormatException avec HRESULT 0x88982F07.
cplotts
Il convient également de mentionner que ces versions à haute résolution doivent être enregistrées en mode 24 bpp, j'ai essayé de les stocker en mode couleur 8 bits et Windows 7 a utilisé la version 256 pixels au lieu de 20 x 20 pixels en 125% DPI.
Bartosz Wójcik
2
C'est simple, mais exhaustif. Très important de prendre en compte DPI.
caesay
24

Le guide des icônes Microsoft UX indique:

"Icônes d'application et éléments du panneau de configuration: l'ensemble complet comprend 16 x 16, 32 x 32, 48 x 48 et 256 x 256 (échelles de code entre 32 et 256)."

Pour moi, cela implique (mais ne dit pas explicitement, malheureusement) que vous devez fournir ces 4 tailles.

Détails supplémentaires concernant les formats de couleurs, qui peuvent également vous être utiles:

  • "Les fichiers d'icônes nécessitent également des versions de palette 8 bits et 4 bits pour prendre en charge le paramètre par défaut sur un bureau distant."

  • "Seule une copie 32 bits de l'image 256x256 pixels doit être incluse, et seule l'image 256x256 pixels doit être compressée [au format PNG] pour réduire la taille du fichier."

calcul
la source
12

Dans le cas de Windows 10, ce n'est pas exactement précis, en fait aucune des réponses sur stackoverflow ne l'a été, j'ai découvert cela lorsque j'ai essayé d'utiliser le pixel art comme icône et il a été redimensionné quand il n'était pas censé le faire (c'était facile pour voir dans ce cas la cause de l'interpolation et du lissage des fenêtres ne) même toi j'ai utilisé les tailles de ce post.

J'ai donc fait une application et fait le travail sur tous les paramètres DPI, voir ici:
Windows 10 toutes les résolutions d'icônes sur tous les paramètres DPI
Vous pouvez également utiliser mon application pour créer des icônes, également avec l'interpolation du voisin le plus proche avec lissage, ce qui n'est pas fait avec l'un des mauvais éditeurs que j'ai vus.

Si vous ne voulez que les résolutions:
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84, 256
et vous devez utiliser toutes les icônes PNG et tout ce que vous mettez à côté de ceux-ci, il ne sera pas affiché. Voir mon post pourquoi.

z4k
la source
7

Pas 96x96, utilisez plutôt 64x64. J'utilise habituellement:

  • 16 - bouton d'état / barre de titre
  • 32 - icône du bureau
  • 48 - vue par dossier
  • 64/128 - Tailles supplémentaires

256 fonctionne également sur XP, cependant, les anciens compilateurs de ressources se plaignaient parfois d'erreurs de «mémoire insuffisante».

Christian
la source
J'ai vu que vous aviez déjà traité avec Java. Comment puis-je implémenter un tel comportement avec Java? Le problème est que l'icône affichée dans la barre des tâches du système est beaucoup plus grande que l'icône de la barre de titre et elles ne peuvent pas être redimensionnées correctement par le système. Tout ce que je peux faire, c'est stage.getIcons (). Add (image); mais cela ne me permettra pas de spécifier à quelle taille et où il appartient, par exemple la barre des tâches, la vue des dossiers ou tout autre. J'utilise JavaFX 8
homerun
1
@someFolk java se compile en fichiers "classe" ou en fichier "jar" (qui est un zip de fichiers de classe + manifeste). En d'autres termes, il ne compile pas en PE (exécutables Windows). Cependant, il existe des outils qui créent des wrappers pour vous - essentiellement de petits programmes qui contiennent le pot en tant que ressource (qui est extrait et exécuté lorsque le programme est exécuté). La réponse ici en mentionne quelques-uns. Cela signifie que votre problème dépend du programme que vous utilisez. Cependant, il existe des outils pour éditer des ressources (par exemple: Resource Hacker )
Christian
2

D'après les recommandations de Microsoft MSDN :

Icônes d'application et éléments du panneau de configuration : l'ensemble complet comprend 16 x 16, 32 x 32, 48 x 48 et 256 x 256 (échelles de code entre 32 et 256). Le format de fichier .ico est requis. Pour le mode classique, l'ensemble complet est 16x16, 24x24, 32x32, 48x48 et 64x64.

Nous avons donc déjà des tailles standard recommandées de:

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

Si nous souhaitons prendre en charge des paramètres PPP élevés, la liste complète comprendra également les tailles suivantes:

  • 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
la source