画像を回転させるプログラムを書いています。画像形式はビットマップであり、http://en.wikipedia.org/wiki/BMP_file_formatによると、ビットマップ画像の行サイズは 4 の倍数である必要があります。入力画像はそうではなく、新しい画像をファイルに書き込むとき、それはあるべきものではありません。もちろん、最初にデータ部分をピクセルの配列に読み取り、その後その配列を回転させます。さらに情報が必要な場合は、教えてください。
もちろん、以前の問題は解決されましたが、なぜ c++ がこの構造体のサイズを 56 バイトとカウントするのかわかりません。
構造は次のとおりです。
struct Bitmap_Header
{
char H_Signature[2];
unsigned int H_Filesize;
int H_Reserved;
unsigned int H_DataOffset;
unsigned int H_Size;
int H_Width;
int H_Height;
short int H_Planes;
short int H_BitCount;
unsigned int H_Compression;
unsigned int H_Imagesize;
int H_XPixelsPerM;
int H_YPixelsPerM;
unsigned int H_ColorsUsed;
unsigned int H_ColorsImportant;
};