0
이미지를 회전하는 프로그램을 작성 중입니다. 이미지 형식은 비트 맵이며 http://en.wikipedia.org/wiki/BMP_file_format에 따르면 비트 맵 이미지의 rowsize는 4의 배수 여야합니다. 입력 이미지가 너무 작아서 새 이미지를 파일에 쓸 때 이미지 형식이 맞지 않습니다. 물론 먼저 데이터 배열을 픽셀 배열로 읽은 다음 배열을 회전합니다. 자세한 정보가 필요하면 알려주십시오.비트 맵 파일이 행의 크기가 4의 배수가 아닌 경우 어떻게해야합니까?
물론 이전 문제점이 해결되었지만 C++이이 구조의 크기를 56 바이트로 계산하는 이유를 모르겠습니다. 바이트 크기가 4의 배수가 그냥 여분의 추가 수 있도록 당신이 BMP 파일에 이미지를 쓸 때
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;
};
제 입력 이미지는 686 * 400입니다. 픽셀 값을 2 차원 배열에 할당하는 방법을 설명해 주시겠습니까? –
해결책을 찾았습니다. 귀하의 답변에 감사드립니다. –