(データ配置はリトルエンディアン 下位バイトが下位アドレスに配置される。)
 'BM' 2bait
 ファイルサイズ(バイト数) 4bait
 予約 2bait,2bait(全て0)
 ファイルの先頭からビットマップデータまでのオフセット(バイト数) 4bait

[
 構造体のサイズ(バイト数 [〜]までのバイト数) 4bait
 ビットマップの幅 4bait
 ビットマップの高さ 4bait
 プレーンの枚数(1でなければ駄目) 2bait
 1ピクセルあたりのビット数 2bait
 圧縮形式を指定(0が使われる) 4bait
 画像データに使われるバイト数(1ピクセル3バイトずつですが、1行が4の倍数にならない場合は、4の倍数になるように0で調整されます。) 4bait
 横方向解像度(0が使われる) 4bait
 縦方向解像度(0が使われる) 4bait
 パレット数(0が使われる) 4bait
 パレットのインデックス(0が使われる) 4bait
]

画像データ
 左下から順に1行スキャンしたら、上の行の左端へ戻って右上まで記録されています。
 B(青)G(緑)R(赤)の順に、3バイト×横方向のピクセル数が4の倍数にならない時は、4の倍数になるまで0で埋められるみたいです(24bitカラーの時)。

インターネットで調べてみました。良く解析されていて感心します。((;_:)大変でした〜。)

  色は変更しなければいけない箇所

inserted by FC2 system