.bmp ファイル形式についてさらに学び始め、小さな C++ プログラムを作成しました。
これが私のコードの抜粋です:
FILE* imageFile;
fopen_s (&imageFile, this->GetImagePath (), "rb");
fread (&this->bmfh, sizeof(BITMAPFILEHEADER), 1, imageFile);
std::cout << bmfh.bfSize << " " << bmfh.bfOffBits << " " << std::endl;
MSDN によるとbmfh.bfSize
、ビットマップ ファイルのサイズを返す必要があります。
しかし、私の場合、 (54) は(14)bmfh.bfOffBits
より高いですか? bmfh.bfSize
その理由は何ですか?私の考えは、この方法で画像データにメモリを割り当てることだったからです:
this->size = bmfh.bfSize - bmfh.bfOffBits;
pixelData = new BYTE[this->size];