Extensión de nombre de archivo | .icns |
---|---|
Tipo de medio de Internet | imagen / x-icns |
Código de tipo | icns |
Identificador de tipo uniforme (UTI) | com.apple.icns |
Desarrollado por | Apple Inc. |
Tipo de formato | formato de archivo de icono |
La imagen de Apple Icono formato es un icono de formato utilizado en Apple Inc. 's macOS . Admite iconos de 16 × 16, 32 × 32, 48 × 48, 128 × 128, 256 × 256, 512 × 512 puntos a escala 1x y 2x, con canales alfa de 1 y 8 bits y múltiples estados de imagen (ejemplo : carpetas abiertas y cerradas). El sistema operativo puede escalar los iconos de tamaño fijo y mostrarlos en cualquier tamaño intermedio.
A partir de macOS 11 , PDF y PNG se han convertido en los formatos de archivo preferidos para los iconos personalizados de macOS. [1]
Estructura de archivo [ editar ]
El formato de archivo consta de un encabezado de 8 bytes, seguido de cualquier número de iconos.
Encabezado [ editar ]
Compensar | Tamaño | Objetivo |
---|---|---|
0 | 4 | Literal mágico, debe ser "icns" (0x69, 0x63, 0x6e, 0x73) |
4 | 4 | Longitud del archivo, en bytes, msb primero |
Datos de icono [ editar ]
Compensar | Tamaño | Objetivo |
---|---|---|
0 | 4 | Tipo de icono, consulte OSType a continuación. |
4 | 4 | Longitud de los datos, en bytes (incluido el tipo y la longitud), msb primero |
8 | Variable | Datos de icono |
Compresión [ editar ]
valor de plomo | bytes de cola | resultado sin comprimir |
---|---|---|
0...127 | 1...128 | 1...128 bytes |
128...255 | 1 byte | 3...130 copias |
Con el tiempo, el formato se ha mejorado y se admite la compresión de algunas partes de los datos de píxeles. Los datos de píxeles de 32 bits ("is32", "il32", "ih32", "it32") y ARGB ("ic04", "ic05") a menudo se comprimen (por canal) con un formato similar a PackBits . [2] Algunas fuentes mencionaron que el sistema operativo admite tanto fragmentos de datos comprimidos como no comprimidos.
El siguiente pseudocódigo descomprime los datos:
Mientras haya datos comprimidos: Leer un byte como un número sin firmar N Si N <0x80: Salida de los siguientes (N + 1) bytes Demás: Salida del siguiente byte (N - 0x80 + 3) veces
Ejemplo: 02 01 02 02 80 03 81 04 82 05
debería descomprimir a01 02 02 03 03 03 04 04 04 04 05 05 05 05 05
Tipos de iconos [ editar ]
OSType | Longitud (bytes) | Tamaño (píxeles) | Versión de SO compatible | Descripción |
---|---|---|---|---|
ICONO | 128 | 32 | 1.0 | 32 × 32 icono mono de 1 bit |
ICN # | 256 | 32 | 6.0 | Icono mono de 32 × 32 de 1 bit con máscara de 1 bit |
icm # | 48 | dieciséis | 6.0 | 16 × 12 Icono mono de 1 bit con máscara de 1 bit |
icm4 | 96 | dieciséis | 7.0 | Icono de 4 bits de 16 × 12 |
icm8 | 192 | dieciséis | 7.0 | 16 × 12 icono de 8 bits |
ics # | 64 (32 img + 32 máscara) | dieciséis | 6.0 | Máscara de 1 bit 16 × 16 |
ics4 | 128 | dieciséis | 7.0 | Icono de 4 bits de 16 × 16 |
ics8 | 256 | dieciséis | 7.0 | Icono de 16x16 de 8 bits |
is32 | varía (768) | dieciséis | 8.5 | 16 × 16 icono de 24 bits |
s8mk | 256 | dieciséis | 8.5 | Máscara de 16x16 de 8 bits |
icl4 | 512 | 32 | 7.0 | 32 × 32 icono de 4 bits |
icl8 | 1.024 | 32 | 7.0 | Icono de 8 bits de 32 × 32 |
il32 | varía (3.072) | 32 | 8.5 | 32 x 32 icono de 24 bits |
l8mk | 1.024 | 32 | 8.5 | Máscara de 32 × 32 de 8 bits |
ich # | 288 | 48 | 8.5 | Máscara de 1 bit 48 × 48 |
ich4 | 1,152 | 48 | 8.5 | 48 × 48 icono de 4 bits |
ich8 | 2.304 | 48 | 8.5 | 48 × 48 icono de 8 bits |
ih32 | varía (6,912) | 48 | 8.5 | 48 × 48 icono de 24 bits |
h8mk | 2.304 | 48 | 8.5 | Máscara de 48 × 48 de 8 bits |
it32 | varía (49,152) | 128 | 10.0 | 128 × 128 icono de 24 bits |
t8mk | 16,384 | 128 | 10.0 | Máscara de 128 × 128 de 8 bits |
icp4 | varía | dieciséis | 10,7 | Icono de 16x16 en formato JPEG 2000 o PNG |
icp5 | varía | 32 | 10,7 | Icono de 32x32 en formato JPEG 2000 o PNG |
icp6 | varía | 64 | 10,7 | Icono de 64x64 en formato JPEG 2000 o PNG |
ic07 | varía | 128 | 10,7 | Icono de 128x128 en formato JPEG 2000 o PNG |
ic08 | varía | 256 | 10,5 | Icono de 256 × 256 en formato JPEG 2000 o PNG |
ic09 | varía | 512 | 10,5 | Icono de 512 × 512 en formato JPEG 2000 o PNG |
ic10 | varía | 1024 | 10,7 | 1024 × 1024 en 10.7 (o 512x512 @ 2x "retina" en 10.8) icono en formato JPEG 2000 o PNG |
ic11 | varía | 32 | 10,8 | 16x16 @ 2x icono de "retina" en formato JPEG 2000 o PNG |
ic12 | varía | 64 | 10,8 | 32x32 @ 2x icono de "retina" en formato JPEG 2000 o PNG |
ic13 | varía | 256 | 10,8 | 128x128 @ 2x icono de "retina" en formato JPEG 2000 o PNG |
ic14 | varía | 512 | 10,8 | 256x256 @ 2x icono de "retina" en formato JPEG 2000 o PNG |
ic04 | varía | dieciséis | 16x16 ARGB | |
ic05 | varía | 32 | 32x32 ARGB | |
icsB | varía | 36 | 36x36 | |
icsb | varía | 18 | 18x18 |
- los valores dentro de los corchetes () en la columna de longitud es la longitud sin comprimir.
- el formato ARGB consiste en los valores ascii para 'ARGB' y los cuatro canales comprimidos empaquetados de manera apretada
Otros tipos [ editar ]
OSType | Longitud (bytes) | Descripción |
---|---|---|
'TOC' | varía | "Tabla de contenido" una lista de todos los tipos de imágenes en el archivo y sus tamaños (agregado en Mac OS X 10.7 ) |
'icnV' | 4 | Float big endian de 4 bytes: igual al número de versión del paquete de Icon Composer.app que se creó para icon |
'nombre' | Desconocido | |
'información' | 259 | Información binaria plist. Uso desconocido |
Soporte [ editar ]
Varios visores de imágenes pueden cargar *.icnsarchivos y también existen convertidores de código abierto y gratuitos desde o hacia PNG . [3] [4] GTK + puede cargar *.icnsrecursos desde 2007. [5] Otras herramientas que admiten el formato incluyen Apple Icon Composer e icns Browser , The Iconfactory y IconBuilder .
MacOS [se necesita aclaración ] ofrece la iconutil
herramienta de línea de comandos incorporada para empaquetar y descomprimir *.icnsarchivos.
Enlaces externos [ editar ]
- IconFamily : clase Objective C de código abierto para leer y escribir archivos icns de Apple
- osxiconutils : herramientas de línea de comandos para trabajar con archivos icns de Apple
Ver también [ editar ]
- Formato ICO en Windows
- Formato X PixMap para X11
Referencias [ editar ]
- ^ "Directrices de interfaz humana" . Apple . Consultado el 26 de marzo de 2021 .
- ^ Iconos de Macintosh
- ^ "libicns" . ICNS del proyecto SourceForge . 2009 . Consultado el 18 de agosto de 2016 .
- ^ "png2icns" . Moin Uddin. 2016 . Consultado el 25 de mayo de 2017 .
- ^ Lyonel Vincent (2007). "Iconos de Mac OS X para GTK +" . Consultado el 18 de agosto de 2016 .