ICO (ファイルフォーマット)

Windowsアイコンファイルフォーマット:ICOとCURファイル



Microsoft Windowsで用いられるアイコンファイルは、ICOファイル形式で保存されます。マウスポインタを表すCURファイルも、ICOファイルとほぼ同様のフォーマットですが、ファイルヘッダーの一部とホットスポットの記述に違いがあります。

ICOファイルは、様々なサイズや色深度の画像を複数格納できます。IANA(Internet Assigned Numbers Authority)によって公式に登録されたMIMEタイプは`image/vnd.microsoft.icon`ですが、以前は`image/x-icon`が広く使用されていました。現在でも、`image/ico`、`image/icon`、`text/ico`、`application/ico`など、間違ったMIMEタイプが使われるケースが多く見られます。Webサーバーにおいて、.icoファイルに対する適切なMIMEタイプの設定が不足している場合、デフォルトのMIMEタイプ(例:`text/html`、`text/plain`)が適用されることがしばしばあります。

アイコンのサイズ、色深度、透明性



初期のWindowsでは、アイコンは通常32×32ピクセルの16色画像でしたが、現代のWindowsでは、様々なサイズと色深度アイコンがサポートされています。Windows XP以前から、アイコンのサイズは1×1ピクセルから255×255ピクセルまで可能で、正方形である必要はありません。色深度は1ビット、4ビット、8ビット、16ビット、24ビットがサポートされています。多くの場合、32×32ピクセル(大アイコン表示時)と16×16ピクセル(小アイコン表示時)のアイコンがファイルに含まれています。

アイコン画像は、ANDビットマップとXORビットマップという2つのビットマップで構成されます。ANDビットマップは、背景との合成方法を制御し、XORビットマップが実際の画像データとなります。この仕組みによって、透明部分を持つアイコンや、背景と複雑に相互作用する効果を実現できます。

Windows XPでは、32ビットの色深度アルファチャンネルによる透明化がサポートされ、より精細で滑らかなアイコン表現が可能となりました。32ビットモードではANDビットマップは不要ですが、24ビットモードではアルファチャンネルが削除されるため、ANDビットマップが使用されることがあります。32ビット画像にANDビットマップが欠損している場合、24ビットモードでの表示は不正な透明化パターンとなる可能性があります。Windows XPでは96×96ピクセルのアイコンもサポートされましたが、マイクロソフトは48×48ピクセルまでの使用を推奨しています。必要に応じて、256×256ピクセル以上の画像を縮小して表示することも可能です。

Windows Vistaでは、256×256ピクセルのアイコンをそのまま表示するモードが追加され、圧縮PNGフォーマットのサポートも導入されました。PNGを使用する場合、PNGが持つアルファチャンネルを直接利用するため、ANDビットマップとXORビットマップは不要となります。256×256ピクセルのアイコンをICOファイルに格納する際は、32ビットの色深度を使用し、PNGフォーマットによる圧縮が推奨されます。Windows Vistaではズーム機能が強化されたため、様々なサイズのアイコンを格納することが推奨されています。

アイコンの編集と作成



ICOファイルの編集や作成には、GIMPCorelDRAW、IrfanView、Paint.NET(プラグインが必要)などのグラフィックソフトウェアが使用できます。

アイコンライブラリ



Windowsのアイコン群をパッケージ化するために、アイコンライブラリ(.ICLファイル)が使用されます。これは、複数のアイコンリソースをまとめたNew Executable形式のバイナリファイルです。

ファイル構造



ICOファイルは、リトルエンディアン形式でデータが格納されます。ファイルは、ヘッダー、ディレクトリ、アイコンデータの3つの主要な部分から構成されます。アイコンデータは、AND/XORビットマップ形式またはPNG形式で格納されます。

Windows Vista以降の推奨アイコンサイズ



Windows Vista以降では、様々なUI要素で異なるサイズのアイコンが使用されます。マイクロソフトは、これらのサイズに関するガイドラインを提供しています。

関連項目



Windows bitmap
Favicon (Webサイト用アイコンフォーマット)
* ANI (アニメーションカーソルフォーマット)

ICOファイルは、Windowsシステムにおいて重要な役割を果たすファイル形式であり、その理解はWindowsアプリケーション開発において不可欠です。

もう一度検索

【記事の利用について】

タイトルと記事文章は、記事のあるページにリンクを張っていただければ、無料で利用できます。
※画像は、利用できませんのでご注意ください。

【リンクついて】

リンクフリーです。