ブログ

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ファイルの構成について説明しました。

 

ビットマップフォントのフォーマットについてご質問・ご相談などございましたら、お気軽にお問い合わせください。

 

カルチスタッフ

関連記事

カルチ発行書籍

  1. KEISコードブック_表紙
    2016年1月15日にKEISコードブックを発売しました。
ページ上部へ戻る