DIB ファイル形式とは?
.dib 拡張子は、Microsoft が(OS/2 用に IBM と協力して)開発したラスター画像形式である Device Independent Bitmap を指し、一般的な .bmp ファイルの基礎となっています。「デバイス非依存」とは、色データが自己記述的であることを意味します。ファイル自体がパレットやビット深度のメタデータを保持しているため、出力デバイスの性能に関係なく一貫して画像が表示されます。
ディスク上では、.dib ファイルは構造的に .bmp ファイルと同一です。14バイトの BITMAPFILEHEADER(2バイトのシグネチャ BM で始まる)の後に、DIB ヘッダーのバリアント、オプションのカラーパレット、および生のピクセル配列が続きます。最も一般的なヘッダーは、1990年の Windows 3.0 で導入された40バイトの BITMAPINFOHEADER です。ピクセル行はデフォルトでボトムアップ(下から上)形式で保存され、4バイト境界にパディングされます。サポートされている色深度は、1ビットのモノクロから32ビットの RGBA(アルファチャンネルには BITMAPV4HEADER または BITMAPV5HEADER が必要)まで多岐にわたります。
Windows GDI プログラミングにおいて、DIB という用語は具体的にはメモリ内のデータ構造(BITMAPINFO + ピクセルビット)を指し、.bmp は追加の14バイトのファイルヘッダーを先頭に付与したディスクファイル形式を指します。ディスク上の .dib 拡張子は稀であり、.bmp と完全に互換性があります。.bmp ファイルを開くことができるすべてのアプリケーションは、問題なく .dib も処理できます。
ほとんどの .dib ファイルは非圧縮の BI_RGB モードを使用します。オプションのランレングス符号化(8ビット画像用の BI_RLE8、4ビット画像用の BI_RLE4)により、ファイルサイズをわずかに削減できます。この形式はデフォルトで非圧縮であるため、PNG や JPEG の同等品と比較してファイルサイズが非常に大きくなります。
セキュリティと安全性
リスク: LOWDIB/BMP はスクリプトやマクロを含まない単純なピクセルデータであり、低リスクな形式です。過去には、不正な形式のヘッダー寸法や不正な RLE 実行によるパーサーの脆弱性が古い画像ライブラリをクラッシュさせることがあったため、ソフトウェアを最新の状態に保ってください。広告の多い «無料 DIB 変換» サイトは避け、IrfanView、GIMP、ImageMagick、または Squoosh を使用してください。
形式の詳細
概要DIB ファイルを開くプログラム
技術的詳細
詳細仕様| ファイルシグネチャ | バイトオフセット0に `BM` (16進数 `42 4D`) - BITMAPFILEHEADER のマジックバイト |
| ヘッダーバリアント | BITMAPCOREHEADER (12バイト, OS/2), BITMAPINFOHEADER (40バイト, Win3.0以降), BITMAPV4HEADER (108バイト), BITMAPV5HEADER (124バイト, ICCプロファイル対応) |
| 対応する色深度 | 1, 4, 8, 16, 24, または 32ビット/ピクセル。1/4/8ビットはインデックスパレットを使用し、16/24/32ビットはダイレクト RGB |
| アルファチャンネル | BITMAPV4HEADER または BITMAPV5HEADER を使用した32ビット DIB でサポート (Windows 98/2000以降) |
| ピクセル行の順序 | デフォルトはボトムアップ(高さの値が正)。負の高さはトップダウン画像をエンコードします |
| 行のパディング | 各ピクセル行は4バイト (DWORD) 境界にパディングされます |
| 圧縮モード | `BI_RGB` (なし、最も一般的); `BI_RLE8` (8ビット RLE); `BI_RLE4` (4ビット RLE) |
| カラーパレット | 1/4/8ビット画像では RGBQUAD 配列として存在。16/24/32ビットのダイレクトカラーでは存在しません |
| バイト順序 | リトルエンディアン |
| メモリ内 vs ディスク上 | メモリ内の DIB は14バイトの BITMAPFILEHEADER を省略します。ディスク上の `.dib` ファイルはそれを含み、レイアウトは `.bmp` と同一です |
| 最大寸法 | BITMAPINFOHEADER では 32,767 × 32,767 px (32ビット符号付きフィールド)。BITMAPCOREHEADER は 16ビット符号なし (65,535 px) に制限されます |
| 解像度メタデータ | 水平および垂直解像度は、`biXPelsPerMeter` および `biYPelsPerMeter` フィールドにピクセル/メートル単位で保存されます |
| ICC カラープロファイル | BITMAPV5HEADER に埋め込み可能 |
| 相互運用性 | `.dib` は `.bmp` と完全に互換性があります。BMP 対応のすべてのアプリケーションは、変更なしで `.dib` ファイルを開くことができます |
| リリース日 | 1985 (Windows 1.0/2.0); modern BITMAPINFOHEADER form with Windows 3.0, 1990 |
| 最新バージョン | BITMAPV5HEADER (Windows 98/2000, 1998) |
| オープンスタンダード | はい · ロイヤリティフリー |
| 仕様書 | learn.microsoft.com |
DIB の変換
コミュニティ Q&A
ユーザーからの質問まだ質問はありません。DIB ファイルについて最初の質問をしてみましょう。