.ICO ファイルとは?
ICO 拡張子を持つファイルは、Microsoft Windows でアプリケーションを表すアイコンとして使用される画像ファイル タイプです。これらは、ディスプレイの要件に合わせて、さまざまなサイズ、カラー サポート、および解像度で提供されます。 Microsoft Windows の別の同様の画像ファイル形式は、カーソル表現用の CUR で、画像ヘッダーでホットスポットを定義します。 MacOS では、ICNS ファイル形式は ICO ファイルと同じ目的を果たします。いくつかのオンライン Web サイトやアプリケーションでは、このようなファイルを作成し、BMP、PNG などの他の画像形式をアイコン ファイル形式に変換する機能を提供しています。 IANA が公式に登録した ICO ファイルのインターネット メディア タイプは、image/vnd.microsoft.icon です。
簡単な歴史
アイコンは、Microsoft Windows 1.0 の起動とともに導入されました。これらはサイズが 32x32 で、モノクロでした。 win32 の登場により、最大 256x256 ピクセルのトゥルー カラーのアイコン イメージのサポートが導入されました。 Windows XP は、32 ビット カラーのアイコン イメージをサポートした最初の製品であり、影、アンチエイリアシング、ガラスのような効果などの半透明の領域をアイコンに追加できます。 Microsoft は、Windows XP に対して 48×48 ピクセルまでのアイコン サイズのみを推奨しています。 Windows Vista では、256×256 ピクセルのアイコン ビューが Windows エクスプローラーに追加され、圧縮された PNG 形式がサポートされました。ユーザーがより高い解像度と高 DPI モードを使用している場合は、より大きなアイコン形式 (256×256 など) をお勧めします。
ICO ファイル形式
1 つの ICO ファイルは、複数のサイズと色深度の 1 つまたは複数の小さな画像で構成されます。複数のサイズの画像が存在するのは、さまざまな画面解像度で適切にスケーリングするためです。 ICO/CUR ファイルのすべての値は、[リトル エンディアン](https://en.wikipedia.org/wiki/リトル エンディアン) バイト オーダーで表されます。
ICO ファイルは、アイコン ヘッダー、アイコン ディレクトリ、
フィールド | 説明 |
---|---|
アイコン ヘッダー | ICO ファイルに関する一般的な情報を格納します。 |
Directory[1..n] | ファイル内のすべての画像に関する一般情報を保存します。 |
アイコン #1 | 古い AND/XOR DIB 形式または新しい PNG の最初の画像の実際の「データ」 |
… | |
アイコン #n | 最後のアイコン画像のデータ |
ヘッダー
オフセット | サイズ (バイト単位) | 目的 |
---|---|---|
0 | 2 | 予約済み。常に 0 でなければなりません。 |
2 | 2 | 画像の種類を指定します。1 はアイコン (.ICO) 画像、2 はカーソル (.CUR) 画像です。他の値は無効です。 |
4 | 2 | ファイル内の画像数を指定します。 |
ディレクトリ
ICONDIR 構造として表される ICO ファイルに含まれるディレクトリには、ファイル内の各画像の ICONDIRECTORY 構造が含まれます。同じ後に、すべてのイメージ ビットマップ データの連続ブロックが続きます。これは下図の通りです。
オフセット | サイズ | 説明 |
---|---|---|
0 (0) | 1 | 幅、256 ピクセルの場合は 0 にする必要があります |
1 (1) | 1 | 高さ、256 ピクセルの場合は 0 にする必要があります |
2 (2) | 1 | 色数。256 色を超える場合は 0 にする必要があります |
3 (3) | 1 | 予約済み、0 にする必要があります |
4 (4) | 2 | .ICO 形式の場合のカラー プレーンは 0 または 1、または .CUR 形式の場合は X ホットスポットである必要があります |
6 (6) | 2 | .ICO フォーマットの場合はピクセルあたりのビット数、.CUR フォーマットの場合は Y ホットスポット |
8 (8) | 4 | ビットマップ データのサイズ (バイト単位)。 |
12 (C) | 4 | ファイル内のオフセット。 |