Previous: 2.4.6.3. ファイルヘッダ |
Up: 2.4.6. BMPファイルの表示 |
Next: 2.4.6.5. イメージデータ |
情報ヘッダの形式はビットマップファイルのバージョンによりいくつかあるのですが、とりあえずはINFO形式のヘッダ(表 6?22)に対応できていればよいでしょう。WindowsのペイントもINFO形式のヘッダを生成します。
表 6?22 BMPファイルの情報ヘッダの構造(INFO形式)
バイト数 |
データの項目 |
構造体メンバ名 |
内容 |
4 |
ヘッダサイズ |
DWORD biSize |
情報ヘッダの大きさ(バイト数)。 |
4 |
幅 |
LONG? biWidth |
ビットマップの幅(画素数)。 |
4 |
高さ |
LONG? biHeight |
ビットマップの高さ(画素数)。 |
2 |
プレーン数 |
WORD? biPlanes |
プレーンの枚数。BMPファイルでは必ず1になる。 |
2 |
ピクセル毎のビット数 |
WORD? biBitCount |
1ピクセルを表現するためのビット数。24ビット(1677万色)ビットマップなら24。 |
4 |
圧縮タイプ |
DWORD biCompression |
圧縮方式。BMPファイルは通常非圧縮なので0が入る。 |
4 |
イメージデータサイズ |
DWORD biSizeImage |
ビットマップデータのサイズだが、0が格納されていることもあるので使用しない。 |
4 |
水平解像度 |
LONG? biXPelsPerMeter |
メートル単位の水平解像度。 |
4 |
垂直解像度 |
LONG? biYPelsPerMeter |
メートル単位の垂直解像度。 |
4 |
カラーインデックス数 |
DWORD biClrUsed |
カラーパレットが存在する場合の色数。biBitCountに対応する最大色数を使用する場合は0。 |
4 |
重要インデックス数 |
DWORD biClrImportant |
重要色数。最大色数すべてを重要色とする場合は0。 |
本格的にBMPファイルのデコーダを作成する場合には表 6?22の各項目の情報を分析する必要があります。もっとも今回は128ドットx128ドット24ビットビットマップとして決めうちしてデコードしますので、情報ヘッダの情報は使用しないでおきます。
先ほどの「flat.bmp」の情報ヘッダ部分は、以下のような内容・意味になっているのが確認できるはずです。
データの項目 |
内容 |
意味 |
ヘッダサイズ |
28 00 00 00 |
40バイト |
幅 |
80 00 00 00 |
128ピクセル |
高さ |
80 00 00 00 |
128ピクセル |
プレーン数 |
01 00 |
1枚 |
ピクセル毎のビット数 |
18 00 |
24ビット |
圧縮タイプ |
00 00 00 00 |
非圧縮 |
イメージデータサイズ |
00 00 00 00 |
このBMPファイルを作成したプログラムが非対応の模様 |
水平解像度 |
C4 0E 00 00 |
3780ピクセル/m |
垂直解像度 |
C4 0E 00 00 |
3780ピクセル/m |
カラーインデックス数 |
00 00 00 00 |
最大色数 |
重要インデックス数 |
00 00 00 00 |
すべてが重要色 |
Previous: 2.4.6.3. ファイルヘッダ |
Up: 2.4.6. BMPファイルの表示 |
Next: 2.4.6.5. イメージデータ |