Appleアイコンの画像形式
Apple Icon Image形式は、Apple Inc.のmacOSで使用されるアイコン形式です。 16ビット×16、32×32、48×48、128×128、256×256、512×512、1024×1024ピクセルのアイコンをサポートし、1ビットと8ビットの両方のアルファチャネルと複数の画像状態(例:開いているフォルダーと閉じているフォルダー)。固定サイズのアイコンは、オペレーティングシステムによってスケーリングされ、任意の中間サイズで表示できます。
ファイル構造
ファイル形式は、8バイトのヘッダーとそれに続く任意の数のアイコンで構成されます。
ヘッダ
| オフセット | サイズ | 目的 |
|---|---|---|
| 0 | 4 | マジックリテラル、 "icns"(0x69、0x63、0x6e、0x73)でなければなりません |
| 4 | 4 | ファイルの長さ(バイト単位、msbが最初) |
アイコンデータ
| オフセット | サイズ | 目的 |
|---|---|---|
| 0 | 4 | アイコンの種類。以下のOSTypeを参照してください。 |
| 4 | 4 | データの長さ(バイト単位(タイプと長さを含む)、msbファースト) |
| 8 | 変数 | アイコンデータ |
圧縮
| 鉛 値 | 尾 バイト | 結果 非圧縮 |
|---|---|---|
| 0…127 | 1…128 | 1…128バイト |
| 128…255 | 1バイト | 3…130コピー |
時間の経過とともにフォーマットが改善され、ピクセルデータの一部の圧縮がサポートされます。 32ビット(「is32」、「il32」、「ih32」、「it32」)およびARGB(「ic04」、「ic05」)ピクセルデータは、PackBitsと同様の形式で(チャネルごとに)圧縮されることがよくあります。いくつかのソースは、OSが圧縮または非圧縮の両方のデータチャンクをサポートしていると述べました。
次の擬似コードは、データを解凍します。
例:02 01 02 02 80 03 81 04 82 05は01 02 02 03 03 03 04 04 04 04 05 05 05 05 05に解凍する必要があります
アイコンの種類
| OSType | 長さ(バイト) | サイズ(ピクセル) | サポートされているOSバージョン | 説明 |
|---|---|---|---|---|
| アイコン | 128 | 32 | 1.0 | 32×32 1ビットモノラルアイコン |
| ICN# | 256 | 32 | 6.0 | 1ビットマスク付き32×32 1ビットモノラルアイコン |
| icm# | 48 | 16 | 6.0 | 1ビットマスク付き16×12 1ビットモノラルアイコン |
| icm4 | 96 | 16 | 7.0 | 16×12 4ビットアイコン |
| icm8 | 192 | 16 | 7.0 | 16×12 8ビットアイコン |
| ics# | 64(32 img + 32マスク) | 16 | 6.0 | 16×16 1ビットマスク |
| ics4 | 128 | 16 | 7.0 | 16×16 4ビットアイコン |
| ics8 | 256 | 16 | 7.0 | 16x16 8ビットアイコン |
| is32 | 異なる(768) | 16 | 8.5 | 16×16 24ビットアイコン |
| s8mk | 256 | 16 | 8.5 | 16x16 8ビットマスク |
| icl4 | 512 | 32 | 7.0 | 32×32 4ビットアイコン |
| icl8 | 1,024 | 32 | 7.0 | 32×32 8ビットアイコン |
| il32 | 異なる(3,072) | 32 | 8.5 | 32x32 24ビットアイコン |
| l8mk | 1,024 | 32 | 8.5 | 32×32 8ビットマスク |
| ich# | 288 | 48 | 8.5 | 48×48 1ビットマスク |
| ich4 | 1,152 | 48 | 8.5 | 48×48 4ビットアイコン |
| ich8 | 2,304 | 48 | 8.5 | 48×48 8ビットアイコン |
| ih32 | 変化する(6,912) | 48 | 8.5 | 48×48 24ビットアイコン |
| h8mk | 2,304 | 48 | 8.5 | 48×48 8ビットマスク |
| it32 | 異なる(49,152) | 128 | 10.0 | 128×128 24ビットアイコン |
| t8mk | 16,384 | 128 | 10.0 | 128×128 8ビットマスク |
| icp4 | 不定 | 16 | 10.7 | JPEG 2000またはPNG形式の16x16アイコン |
| icp5 | 不定 | 32 | 10.7 | JPEG 2000またはPNG形式の32x32アイコン |
| icp6 | 不定 | 64 | 10.7 | JPEG 2000またはPNG形式の64x64アイコン |
| ic07 | 不定 | 128 | 10.7 | JPEG 2000またはPNG形式の128x128アイコン |
| ic08 | 不定 | 256 | 10.5 | JPEG 2000またはPNG形式の256×256アイコン |
| ic09 | 不定 | 512 | 10.5 | JPEG 2000またはPNG形式の512×512アイコン |
| ic10 | 不定 | 1024 | 10.7 | JPEG 2000またはPNG形式のアイコン10.7で1024×1024(または10.8で512x512 @ 2x「網膜」)アイコン |
| ic11 | 不定 | 32 | 10.8 | JPEG 2000またはPNG形式の16x16 @ 2x「網膜」アイコン |
| ic12 | 不定 | 64 | 10.8 | JPEG 2000またはPNG形式の32x32 @ 2x「網膜」アイコン |
| ic13 | 不定 | 256 | 10.8 | JPEG 2000またはPNG形式の128x128 @ 2x「網膜」アイコン |
| ic14 | 不定 | 512 | 10.8 | JPEG 2000またはPNG形式の256x256 @ 2x「網膜」アイコン |
| ic04 | 不定 | 16 | 16x16 ARGB | |
| ic05 | 不定 | 32 | 32x32 ARGB | |
| icsB | 不定 | 36 | 36x36 | |
| icsb | 不定 | 18 | 18x18 |
- 長さ列の括弧()内の値は、圧縮されていない長さです。
- ARGB形式は、「ARGB」のASCII値と、密集した4つの圧縮チャネルで構成されます。
他のタイプ
| OSType | 長さ(バイト) | 説明 |
|---|---|---|
| 「目次」 | 不定 | 「目次」ファイル内のすべての画像タイプのリストとそのサイズ(Mac OS X 10.7で追加) |
| 「icnV」 | 4 | 4バイトのビッグエンディアンフロート-アイコンに作成されたIcon Composer.appのバンドルバージョン番号に等しい |
| '名前' | 未知の | |
| 「情報」 | 259 | 情報バイナリplist。使用方法不明 |
サポート
さまざまな画像ビューアーが* .icnsファイルをロードできます。また、PNGとの間の無料およびオープンソースのコンバーターも存在します。GTK+は、2007。以降、*。icnsリソースをロードできます。およびIconBuilder。
MacOSは、*。icnsファイルをパックおよびアンパックする組み込みのiconutilコマンドラインツールを提供します。
外部リンク
- IconFamily – Apple icnsファイルを読み書きするためのオープンソースのObjective Cクラス
- osxiconutils-Apple icnsファイルを操作するコマンドラインツール


