- ベストアンサー
バッファサイズについて
今画像データについて勉強しています。ビットマップファイルについてなんですが大きさを240×320の場合の時 #define WSIZE 320 /*ビットマップの幅*/ #define HSIZE 240 /*ビットマップの高さ*/ #define BSIZE 1024 /*バッファサイズ*/ と書くんですがなぜBSIZE 1024 となるかわかりません。教えてください。
- みんなの回答 (6)
- 専門家の回答
質問者が選んだベストアンサー
240 * 240 のビットマップデータ 1bit なら 32(一行)*240(高さ) 4bit なら 64(一行)*240(高さ) 8bit なら 256(一行)*240(高さ) 24bit なら 768(一行)*240(高さ) 32bit なら 1024(一行)*240(高さ) になります。 ビット数に応じてサイズは変わります。 RGBQUADも1bit, 4bit, 8bitの際は必要です。 また、1, 4, 8, 24bitの時には 1行あたりに4byte境界が発生します。 BMPのフォーマットのURLを書いておきますね
その他の回答 (5)
- ret
- ベストアンサー率40% (8/20)
済みません、 下の内容で 240*240 と書きましたが、 256*256 のサイズの間違いですm(_ _)m
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> では256×256の大きさならいくつ必要ですか? # 'おんぶに抱っこ'ですか!? '少なくとも' 256 x 256 x 1画素に要するbit数 / 8 バイト必要です。
補足
すみません・・・。そこのサイズが合わないと実行しても画像ビューアーで見れなくてどうしてもしりたくて><。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
> どのような大きさでも1024ずつ読むのでしょうか? そんなこと誰にもわかりません。 コードを読まない限り。
補足
そうなのです><。では256×256の大きさならいくつ必要ですか?
- ret
- ベストアンサー率40% (8/20)
まず、ビットマップのビット数は何ビットなのですか? 1,4,8,24,32のどのビット数ですか? 今回の質問内容では答えの使用がありません。 8bitで RGBQUAD * 256をunsigned charでおこなったためとも考えられなくは無いので…。 (まず、ありえないでしょうが…)
補足
ビット数はわかりません。その参考書には240×320の大きさのビットマップのファイルから読み込むプログラムが書いており・・・。
- επιστημη(@episteme)
- ベストアンサー率46% (546/1184)
そんなこと誰にもわかりません。 おそらくファイル丸ごと一気に読むのではなく、1024づつ読むつもりなのでしょう。
補足
どのような大きさでも1024ずつ読むのでしょうか?
お礼
ありがとうございました。参考にしてやってみたいと思います☆