请输入您要查询的百科知识:

 

词条 Apple Icon Image format
释义

  1. File structure

      Header    Icon data    Compression    Icon types    Other types  

  2. Support

  3. External links

  4. See also

  5. References

{{Use mdy dates|date=October 2013}}{{Infobox file format
| name = Apple Icon Image
| icon =
| extension = .icns
| mime =
| type code = icns
| uniform type = com.apple.icns
| owner = Apple Inc.
| genre = icon file format
| container for =
| contained by =
| extended from =
| extended to =
}}

The Apple Icon Image format is the icon format used in Apple Inc.'s macOS. It supports icons of 16 × 16, 32 × 32, 48 × 48, 128 × 128, 256 × 256, 512 × 512, and 1024 × 1024 pixels, with both 1- and 8-bit alpha channels and multiple image states (example: open and closed folders). The fixed-size icons can be scaled by the operating system and displayed at any intermediate size.

File structure

The file format consists of an 8 byte header, followed by any number of icons.

Header

Offset Size Purpose
0 4 Magic literal, must be "icns" (0x69, 0x63, 0x6e, 0x73)
4 4 Length of file, in bytes, msb first

Icon data

Offset Size Purpose
0 4 Icon type, see OSType below.
4 4 Length of data, in bytes (including type and length), msb first
8 Variable Icon data

Compression

{{small>value{{small>bytes{{small>uncompressed
{{samp|  0}}…{{samp|127}}}}{{samp|1}}…{{samp|128}}}}{{samp|1}}…{{samp|128}}}} bytes
{{samp|128}}…{{samp|255}}}}{{samp|1}}}} byte{{samp|3}}…{{samp|130}}}} copies

Over time the format has been improved and there is support for compression of some parts of the pixel data. The 32-bit ("is32", "il32", "ih32","it32") and ARGB ("ic04", "ic05") pixel data are often compressed (per channel) with a format similar to PackBits.[1]

Some sources mentioned that the OS supports both compressed or uncompressed data chunks.

The following pseudocode decompresses the data:

While there's compressed data:

   Read one byte as a unsigned number N   If N < 0x80:      Output the next (N + 1) bytes   Else:      Output the next byte (N - 0x80 + 3) times

Example: {{code|02 01 02 02 80 03 81 04 82 05}} should decompress to {{code|01 02 02 03 03 03 04 04 04 04 05 05 05 05 05}}

Icon types

OSType Length (bytes) Size (pixels) Supported OS VersionDescription
ICON 128 32 1.0 32×32 1-bit mono icon
ICN# 256 32 6.0 32×32 1-bit mono icon with 1-bit mask
icm# 48 16 6.0 16×12 1 bit mono icon with 1-bit mask
icm4 96 16 7.0 16×12 4 bit icon
icm8 192 16 7.0 16×12 8 bit icon
ics# 64 (32 img + 32 mask) 16 6.0 16×16 1-bit mask
ics4 128 16 7.0 16×16 4-bit icon
ics8 256 16 7.0 16x16 8 bit icon
is32 varies (768) 16 8.5 16×16 24-bit icon
s8mk 256 16 8.5 16x16 8-bit mask
icl4 512 32 7.0 32×32 4-bit icon
icl8 1,024 32 7.0 32×32 8-bit icon
il32 varies (3,072) 32 8.5 32x32 24-bit icon
l8mk 1,024 32 8.5 32×32 8-bit mask
ich# 288 48 8.5 48×48 1-bit mask
ich4 1,152 48 8.5 48×48 4-bit icon
ich8 2,304 48 8.5 48×48 8-bit icon
ih32 varies (6,912) 48 8.5 48×48 24-bit icon
h8mk 2,304 48 8.5 48×48 8-bit mask
it32 varies (49,152) 128 10.0 128×128 24-bit icon
t8mk 16,384 128 10.0 128×128 8-bit mask
icp4 varies 16 10.7 16x16 icon in JPEG 2000 or PNG format
icp5 varies 32 10.7 32x32 icon in JPEG 2000 or PNG format
icp6 varies 64 10.7 64x64 icon in JPEG 2000 or PNG format
ic07 varies 128 10.7 128x128 icon in JPEG 2000 or PNG format
ic08 varies 256 10.5 256×256 icon in JPEG 2000 or PNG format
ic09 varies 512 10.5 512×512 icon in JPEG 2000 or PNG format
ic10 varies 1024 10.7 1024×1024 in 10.7 (or 512x512@2x "retina" in 10.8) icon in JPEG 2000 or PNG format
ic11 varies 32 10.8 16x16@2x "retina" icon in JPEG 2000 or PNG format
ic12 varies 64 10.8 32x32@2x "retina" icon in JPEG 2000 or PNG format
ic13 varies 256 10.8 128x128@2x "retina" icon in JPEG 2000 or PNG format
ic14 varies 512 10.8 256x256@2x "retina" icon in JPEG 2000 or PNG format
ic04varies1616x16 ARGB
ic05varies3232x32 ARGB
icsBvaries3636x36
icsbvaries1818x18
  • the values inside the brackets () in the length column is the uncompressed length.
  • the ARGB format consists of the ascii values for 'ARGB' and the four compressed channels tightly packed

Other types

OSType Length (bytes)Description
'TOC ' varies "Table of Contents" a list of all image types in the file, and their sizes (added in Mac OS X 10.7)
'icnV' 4 4-byte big endian float - equal to the bundle version number of Icon Composer.app that created to icon
'name'Unknown
'info' 259 Info binary plist. Usage unknown

Support

Various image viewers can load *.icns files, and free and open source converters from or to PNG also exist.[2][3] GTK+ can load *.icns resources since 2007.[4] Other tools supporting the format include the Apple Icon Composer and icns Browser, The Iconfactory, and IconBuilder.


MacOS offers the built-in iconutil command line tool to pack and unpack *.icns files.

External links

  • IconFamily – Open source Objective C class to read and write Apple icns files
  • [https://github.com/sveinbjornt/osxiconutils osxiconutils] - Command line tools to work with Apple icns files

See also

  • ICO format on Windows
  • X PixMap format for X11

References

1. ^Macintosh Icons
2. ^{{cite web|url=http://icns.sourceforge.net/|title=libicns|publisher=SourceForge project icns|date=2009|accessdate=2016-08-18}}
3. ^{{cite web|url=https://github.com/moinism/png2icns|title=png2icns|publisher=Moin Uddin|date=2016|accessdate=2017-05-25}}
4. ^{{cite web|url=http://ezix.org/project/wiki/MacOSXIcons|title=Mac OS X icons for GTK+|author=Lyonel Vincent|date=2007|accessdate=2016-08-18}}
{{Mac OS X}}{{Graphics file formats}}

3 : Graphics file formats|MacOS|Computer icons

随便看

 

开放百科全书收录14589846条英语、德语、日语等多语种百科知识,基本涵盖了大多数领域的百科知识,是一部内容自由、开放的电子版国际百科全书。

 

Copyright © 2023 OENC.NET All Rights Reserved
京ICP备2021023879号 更新时间:2024/11/16 17:04:16