知識ベース

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が圧縮または非圧縮の両方のデータチャンクをサポートしていると述べました。

次の擬似コードは、データを解凍します。

圧縮データがある間:1バイトを符号なし数値として読み取りますN N 0x80の場合:次の(N + 1)バイトを出力しますElse:次のバイトを(N-0x80 + 3)回出力します

例: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ファイルを操作するコマンドラインツール