2.22023
2.BMPファイルフォーマットのファイル構成
こんにちは、カルチスタッフです。
前回は、Windowsで標準的に使われる画像ファイルである、ビットマップファイルのフォーマットの概要について説明しました。
今回はBMPファイルの構成について見てみたいと思います。
BMPファイルは汎用性があるフォーマットですが、ここでは、カルチで使用するBMPファイルのフォーマットに限定して説明します。
BMPファイルは、次の4つの領域で構成されています。
①ファイルヘッダ
②情報ヘッダ
③カラーパレット
④画像データ
順番に見ていきましょう。
①ファイルヘッダ[14byte]
項目 |
サイズ |
内容 |
タイプ |
2 |
固定値:BM |
サイズ |
4 |
ファイルサイズ(byte) |
予約領域 |
2 |
0 |
予約領域 |
2 |
0 |
オフセットビット |
4 |
画像データ先頭までのオフセット |
②情報ヘッダ[40byte]
項目 |
サイズ |
内容 |
情報ヘッダのサイズ |
4 |
固定値:40 |
画像の幅 |
4 |
画像の幅をピクセルで指定する |
画像の高さ |
4 |
画像の高さをピクセルで指定する |
プレーン数 |
2 |
固定値:1 |
ビットカウント |
2 |
1ドットあたりのデータサイズ。 使用する色数で値が変わる。 1:2色 4:16色 8:256色 24:1677万色 32:1677万色 |
圧縮形式 |
4 |
固定値:0(無圧縮) |
画像データのサイズ |
4 |
【④画像データ】のByte数 |
横解像度 |
4 |
固定値:3780(96dpi) |
縦解像度 |
4 |
固定値:3780(96dpi) |
パレット数 |
4 |
固定値:0 |
パレットインデックス |
4 |
固定値:0 |
③カラーパレット
カラーパレットは、情報ヘッダの[ビットカウント]の値が1,4,8の場合に存在します。カラーパレットは1色4byteで、RGB色を指定します。
項目 |
例(赤を表す場合) |
B |
0x00 |
G |
0x00 |
R |
0xFF |
予約領域 |
0x00 |
●[ビットカウント]が1の場合、パレット数は2(8byte)
画像データは、1ドットの色を1bitで指定することになります。つまり、1ドットの色は0か1の2色で指定します。カラーパレットは2つ必要であり、0の時の色、1の時の色を、それぞれ4byteで指定します。
カラーパレット0:0x00000000(bitが0のとき、黒)
カラーパレット1:0xFFFFFF00(bitが1のとき、白)
●[ビットカウント]が4の場合、パレット数は16(64byte)
画像データは1ドットの色を4bitで指定することになります。つまり、1ドットの色は、0x00~0x0Fまでの16色で指定します。カラーパレットは16個必要です。
カラーパレット0:0x00000100
カラーパレット1:0x0C121700
:
:
:
カラーパレット15:0xE2FEF600
●[ビットカウント]が8の場合、パレット数は256(1024byte)
画像データは1ドットの色を1byteで指定することになります。つまり、1ドットの色は、0x00~0xFFまでの256色で指定します。カラーパレットは256個必要です。
カラーパレット0:0x00000100
カラーパレット1:0x0C121700
:
:
:
カラーパレット255:0xE2FEF600
④画像データ
画像データは、【③情報ヘッダ】の【ビットカウント】の値によりフォーマットが異なります。
ここまで、BMPファイルの構成について説明しました。
ビットマップフォントのフォーマットについてご質問・ご相談などございましたら、お気軽にお問い合わせください。
カルチスタッフ