1. 文件信息结构体
typedef struct bmp_file{
unsigned short map_id; //图片类型
unsigned int file_size; //文件大小
unsigned int reserved; //无定义,默认为0
unsigned int offset; // 偏移量:从文件开始到数据区的长度
}__attribute__((packed)) BMPFILEHEADER;
__attribute__((packed)): 防止编译器字节对齐
typedef struct bmp_info{
unsigned int cur_size; //文件信息结构体的大小
unsigned int width; //图片的宽
unsigned int hight; //图片的高
unsigned short reserved; //无定义,默认为1
unsigned short bpp; //每个像素点占的位数
unsigned int compression; //压缩方式,0为不压缩
unsigned int map_size; //图像大小
unsigned int x_ppm; //水平每米像素个数
unsigned int y_ppm; //竖直每米像素个数
unsigned int palette; //颜色表的颜色数
unsigned int bitmapdata; //指定重要的颜色数
}__attribute__((packed))BMPINFOHEADER;
3。像素结构体
typedef struct pixel{
unsigned char green;
unsigned char red;
BMPFILEHEADER FileHead;
BMPINFOHEADER InfoHead;