ビットマップ画像の仕組み2
またまた備忘録となります。
今回も、こっそりアップです。ご興味があれば、どうぞ。
「
これ何だ?正解は・・・」
「
これ何だ?の種明し」
「
ビットマップ画像の仕組み」
の続きです。
ここから先は、以前の記事もご覧にならないと
何やってんの?
が伝わらないかもしれません。
ビットマップ画像をエクセルのセルで、再現することに挑戦してます。
画像を4の整数倍で、トリミングしなければならない理由を
明らかにしてみたいと思います。
横8px 縦8pxの画像の仕組みは、
前回の記事で、なんとなく分かりました。
画像データの中身(バイナリデータ)を1バイトづつ書き出しました。
ここまでが、前回の内容。
横6px 縦8pxの画像がどうなっているか
前回と同じように、画像ファイルを1バイトづつ調べていきます。
エクセルのセルへ、1バイトづつ書き出しました。
◆ヘッダ部分
ファイルサイズ
◆情報ヘッダ部分
横幅 6
高さ 8
◆画像データ領域
6px × 3バイト = 18バイト
横幅を4の倍数バイトにするため、
端数2バイト分0を記録してあることが分かります。
さらに、ファイル全体が4の倍数バイトになるように、
ファイルの最後に、2バイト分0を記録してあることも
わかります。
いろいろ調べた結果、自分なりの解釈です。
なんか少し納得できました。
この端数が分からなくて、苦労しました。
ちなみに、横幅6pxの画像を、
今回のプログラムで実行すると
こうなります?(笑)
プログラミング技術で、この端数分を飛ばして、
読み込むプログラムを作ればいいのですが、
横幅を4の整数倍で、画像をトリミングする技術(笑)で、
対応しました。
次回は、プログラム部分の予定。