私はまだあまり快適ではない低レベルでアプリケーションのスキャンに取り組んでいます:)
とにかく、私は私が得ている数から意味を理解しようとしています。
どうぞ:
- 200 DPI、白黒のスキャンレターサイズのドキュメント
- 解像度は最大1700x2200です
- 1700x2200=3740000ビットまたは467500バイトを計算します
- BITMAPINFOHEADERを取得すると、biSizeImage = 475200と表示されます。なぜですか?
- BITMAPでバイト配列を返すために使用するコードスニペットは、48バイト多い475248バイトを返します。しかし、biSizeは40と言っているので、ヘッダーが40の場合、画像データの前に48バイトあるのはなぜですか?
基本的に、BITMAPHEADERにある計算された467500と475200の違いがなぜなのかわかりません。
また、ヘッダーが40バイトと表示されている理由もわかりませんが、実際には48バイトですか?色情報は8バイトだと思いますか?画像は2色(白黒)なので、各色に4バイトを使用しますか?
編集
ここに情報があります:
わかったと思います。スキャンされたラインがメモリに保存されるとき、それは4バイトのパックでなければなりません。したがって、私の計算によれば、1700ビットは212.5バイトであり、私が見たものによれば、216バイトを使用します。だから、それは一種の理にかなっています。