¿Qué tamaños de ícono debe incluir el ícono de mi aplicación de Windows?

236

Tengo una aplicación de Windows que se ejecutará en Windows XP y versiones posteriores (es decir, Vista / 7). De acuerdo con las Pautas de la IU de Vista , los tamaños estándar son 16x16, 32x32, 48x48, 256x256 (los tamaños estándar de XP no incluyen el icono de 256x256). Además de esos tamaños, también tengo 96x96 y 128x128 (y podría crear más).

¿Cuál de estos tamaños de íconos debo incluir? ¿El shell realmente usará los tamaños "no estándar", o simplemente hincharé mi aplicación?

Daniel Rose
fuente
3
Este sitio es una gran referencia para los tamaños de iconos para muchas plataformas: iconhandbook.co.uk/reference/chart
Mark Hatton

Respuestas:

303

Me tomé un tiempo para comprobarlo en detalle. Creé un icono cuyas imágenes tienen tamaños de 16, 24, 32, 40, 48, 64, 96, 128 y 256. Luego verifiqué qué imagen se muestra. Todo esto se hizo con 96 ppp normales. Si usa un DPI más grande, se pueden usar los tamaños más grandes (solo se verificó esto un poco en Windows 7). Los resultados:

Windows XP:

  • Vistas del explorador:
    • Detalles / Lista: 16
    • Iconos: 32
    • Azulejos / Miniaturas: 48
  • Haga clic derecho-> Propiedades / elegir un nuevo icono: 32
  • Área de inicio rápido: 16
  • Escritorio: 32

Windows 7:

  • Vistas del explorador:
    • Detalles / Lista / Símbolos pequeños: 16
    • Todas las demás opciones: 256 (redimensionado, si es necesario)
  • Haga clic derecho-> Propiedades / elegir un nuevo icono: 32
  • Anclado a la barra de tareas: 32
    • Menú de clic derecho: 16
  • Escritorio:
    • Pequeños símbolos: 32
    • Símbolos medianos: 48
    • Símbolos grandes: 256 (redimensionados, si es necesario)
    • Zoom con Ctrl + rueda del mouse: 16, 32, 48, 256

Windows Runtime: ( desde aquí )

  • Azulejo principal: 150x150, 310x150 (versión ancha)
  • Logo pequeño: 30x30
  • Insignia (para pantalla de bloqueo): 24x24, monocromática
  • Pantalla de bienvenida: 620x300
  • Tienda: 50x50

Entonces, el resultado: Windows XP utiliza 16, 32, 48 iconos de tamaño, mientras que Windows 7 (y presumiblemente también Vista) también usa iconos de 256 tamaños. Todos los demás tamaños de íconos intermedios se ignoran ( pueden usarse en alguna área que no verifiqué).


También verifiqué en Windows 7 qué sucede si faltan tamaños de iconos:

Se generan los tamaños faltantes (obviamente). Con tamaños de 16, 32 y 48, si falta uno, se prefiere la reducción de escala. Entonces, si tenemos íconos de tamaño 16 y 48, el ícono 32 se crea a partir del ícono 48. ¡El icono 256 solo se usa para estos si no hay otros tamaños disponibles! Por lo tanto, si los íconos son de tamaño 16 y 256, los otros tamaños se amplían desde el ícono 16.

Además, si el icono 256 no está allí, se usa el icono 48 (posiblemente generado), pero ya no se cambia su tamaño. Entonces tenemos un área vacía (posiblemente grande) con el icono 48 en el medio.

Tenga en cuenta que el tamaño predeterminado del icono del escritorio en XP era 32x32, mientras que en Windows 7 es 48x48. Como consecuencia, para Windows 7 es relativamente importante tener un icono 48. De lo contrario, se escala desde un icono más pequeño, que puede parecer bastante feo.


Solo una nota sobre la compatibilidad con Windows XP: si reutiliza el icono como icono de ventana, tenga en cuenta que esto puede bloquear su aplicación si utiliza un icono comprimido 256. La solución es no comprimir el icono o crear una segunda versión sin el icono 256 (comprimido). Ver aquí para más información.

Daniel Rose
fuente
12
Bueno, aquí dice que también se requieren 64px, y en las pautas de íconos oficiales dice que también se recomiendan 20px, 24px y 40px. El ícono de 40px parece usarse en alt + tab y globos, otros parecen usarse dependiendo de DPI (por ejemplo, 20px en lugar de 16px en una pantalla de DPI más alto, de lo contrario se reduce el tamaño más grande de 32px, que puede verse incluso más feo). No he probado.
Camilo Martin
2
Hice algunas pruebas más. Para mostrar en el escritorio, cuando lo configuré a 144 ppp ("150%") en Windows 7, para el ícono más pequeño posible, usó el ícono de 24px (si está allí, de lo contrario, aumentó 16px). Según las pautas del ícono, parece que hay un "Modo clásico" en Vista que también usa el ícono de 64px. Sin embargo, Windows 7 no lo usa. Por el contrario, solo se cambia el tamaño del icono de 256 px.
Daniel Rose
Interesante, gracias por los hallazgos. En cualquier caso, no sé cuántas aplicaciones en la naturaleza tienen más de 16, 32, 48 y (con suerte) iconos de 256 px. Supongo que muy pocos. Pero tal vez los usuarios lo notarían, porque un ícono entre el resto es más nítido.
Camilo Martin el
@Camilo Tenga en cuenta que es posible cambiar el tamaño con CTRL + Mousewheel, y todos los tamaños "intermedios" están subidos de tono. Sin embargo, lo que definitivamente se nota es si falta el icono de 48px, ya que ese es el tamaño utilizado en el escritorio predeterminado de Windows 7.
Daniel Rose
3
Y falta la mitad del tiempo si la aplicación es una utilidad y un software no muy popular, o antiguo ... Incluso algunos de los íconos de Visual Studio (aquellos para tipos de archivos) ni siquiera tienen versiones de 48px.
Camilo Martin el
28

Después de algunas pruebas con un icono con 8, 16, 20, 24, 32, 40, 48, 64, 96, 128 y 256 píxeles (256 en PNG) en Windows 7:

  • Con una resolución del 100%: Explorer usa 16, 40, 48 y 256. Windows Photo Viewer usa 96. Paint usa 256.
  • Con una resolución del 125%: Explorer usa 20, 40 y 256. Windows Photo Viewer usa 96. Paint usa 256.
  • Con una resolución del 150%: Explorer usa 24, 48 y 256. Windows Photo Viewer usa 96. Paint usa 256.
  • Con una resolución del 200%: Explorer usa 40, 64, 96 y 256. Windows Photo Viewer usa 128. Paint usa 256.

Así que 8, 32 nunca se usaron (es extraño para mí para 32) y 128 solo con Windows Photo Viewer con una pantalla de dpi muy alta, es decir, almot nunca se usó.

Significa que su ícono debe proporcionar al menos 16, 48 y 256 para Windows 7. Para admitir pantallas más nuevas con altas resoluciones, debe proporcionar 16, 20, 24, 40, 48, 64, 96 y 256. Para Windows 7, todos las imágenes se pueden comprimir usando PNG, pero para compatibilidad con versiones anteriores de Windows XP, 16 a 48 no se deben comprimir.

Futal
fuente
Vea mi respuesta aquí ( stackoverflow.com/questions/12385143/… ) pero si comprime la imagen de 256x256 en el archivo .ico ... Los sistemas Windows XP tendrán problemas para abrir el archivo. Obtendrá una FileFormatException con HRESULT 0x88982F07.
Cplotts
También vale la pena mencionar que esas versiones de alto DPI deben guardarse en modo de 24 bpp, he intentado almacenarlas en modo de color de 8 bits y Windows 7 usó una versión de 256 px en lugar de 20x20 px en un 125% de DPI.
Bartosz Wójcik
2
Esto es simple, pero exhaustivo. Muy importante tener en cuenta DPI.
caesay
24

La directriz del icono de Microsoft UX dice:

"Iconos de aplicaciones y elementos del Panel de control: el conjunto completo incluye 16x16, 32x32, 48x48 y 256x256 (el código escala entre 32 y 256)".

Para mí, esto implica (pero desafortunadamente no indica explícitamente) que debe suministrar esos 4 tamaños.

Detalles adicionales sobre los formatos de color, que también pueden serle útiles:

  • "Los archivos de iconos también requieren versiones de paleta de 8 y 4 bits para admitir la configuración predeterminada en un escritorio remoto".

  • "Solo se debe incluir una copia de 32 bits de la imagen de 256x256 píxeles, y solo la imagen de 256x256 píxeles se debe comprimir [como PNG] para mantener el tamaño del archivo bajo".

Roca
fuente
12

En el caso de Windows 10, esto no es exactamente exacto, de hecho, ninguna de las respuestas en stackoverflow fue, lo descubrí cuando traté de usar pixel art como un icono y se reescalló cuando no se suponía (era fácil) para ver en este caso la causa de la interpolación y suavizado de ventanas) incluso utilicé los tamaños de esta publicación.

Así que hice una aplicación e hice el trabajo en todas las configuraciones de DPI, mira aquí:
Windows 10 todas las resoluciones de íconos en todas las configuraciones de DPI
También puedes usar mi aplicación para crear íconos, también con la interpolación de vecino más cercano con suavizado, lo que no se hace con cualquiera de los malos editores que he visto.

Si solo desea las resoluciones:
16, 20, 24, 28, 30, 31, 32, 40, 42, 47, 48, 56, 60, 63, 84, 256
y debe usar todos los iconos PNG y todo lo que ponga junto a estos no se mostrará. Ver mi post por qué.

z4k
fuente
7

No 96x96, use 64x64 en su lugar. Usualmente uso:

  • 16 - botón de barra de estado / título
  • 32 - icono de escritorio
  • 48 - vista de carpeta
  • 64/128 - Tamaños adicionales

256 funciona igual de bien en XP, sin embargo, los compiladores de recursos antiguos a veces se quejaban de errores de "falta de memoria".

cristiano
fuente
He visto que has tratado con Java antes. ¿Cómo puedo implementar tal comportamiento con Java? El problema es que el ícono que se muestra en la barra de tareas del sistema es mucho más grande en comparación con el ícono en la barra de título y el sistema no puede cambiar su tamaño adecuadamente. Lo máximo que puedo hacer es stage.getIcons (). Add (image); pero no me permite especificar qué tamaño y dónde pertenece, por ejemplo, la barra de tareas, la vista de carpeta o cualquier otra. Estoy usando JavaFX 8
homerun
1
@someFolk java se compila en archivos de "clase" o en un archivo "jar" (que es un zip de archivos de clase + manifiesto). En otras palabras, no se compila en PE (ejecutables de Windows). Sin embargo, existen herramientas que crean contenedores para usted, básicamente pequeños programas que contienen el jar como recurso (que se extrae y se ejecuta cuando se ejecuta el programa). La respuesta aquí menciona algunos de ellos. Lo que esto significa es que su problema depende del programa que utilice. Sin embargo, existen herramientas para editar recursos (por ejemplo: Resource Hacker )
Christian
2

De las recomendaciones de Microsoft MSDN :

Iconos de aplicaciones y elementos del Panel de control : el conjunto completo incluye 16x16, 32x32, 48x48 y 256x256 (el código se escala entre 32 y 256). Se requiere el formato de archivo .ico. Para el modo clásico, el conjunto completo es 16x16, 24x24, 32x32, 48x48 y 64x64.

Así que ya tenemos los tamaños estándar recomendados de:

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

Si nos gustaría admitir configuraciones de DPI altas, la lista completa también incluirá los siguientes tamaños:

  • 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
fuente