Bitmapinfoheader biheightは私が期待する2倍です
質問
Windowsアイコンファイル(ICO)を解析するために、Cでアプリケーションを書いています。
で読んだとき BITMAPINFOHEADER
既存のアイコンエントリのstruct、struct内のすべての変数には、予想される値が含まれていますが、それを除いて biHeight
, 、画像のピクセルの高さを含める必要がありますが、常に2倍のものです。
たとえば、64x64のアイコンがある場合、 biWidth
64ですが、 biHeight
128です。
これは予想される動作ですか?これは私の初めての取引です BITMAPINFOHEADER
.
私は主にから動作しています bitmapinfoheaderに関するmsdnの記事.
解決
はい、これは正常です。 「および」ビットマップマスクと「XOR」ビットマップマスクの高さが追加されているため、通常のアイコンではアイコンの高さが2倍になります。 (これらのマスクは、32ビットアイコンにも使用されていません。ホールドオーバーです。)2つで分割するだけです。
所属していません StackOverflow