マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 2.4.6.3. ファイルヘッダ

Up: 2.4.6. BMPファイルの表示

Next: 2.4.6.5. イメージデータ


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 2. 汎用入出力(GPIO): 2.4. カラー液晶の利用: 2.4.6. BMPファイルの表示:

2.4.6.4. 情報ヘッダ

 情報ヘッダの形式はビットマップファイルのバージョンによりいくつかあるのですが、とりあえずは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. イメージデータ


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。
_Toc266801166