// 文件信息结构体
typedef struct tag_bitmap_file_header
{
unsigned short file_type; // 文件标识,为字母ASCII码“BM”
unsigned int file_size; // 位图文件大小,以字节为单位
unsigned short reserved1; // 位图文件保留字,必须为0
unsigned short reserved2; // 位图文件保留字,必须为0
unsigned int offset_bits; // 文件开始到位图数据开始之间的偏移量字节
} __attribute__((packed)) bitmap_file_header;
// 位图信息结构体
typedef struct tag_bitmap_info_header
{
unsigned int bitmap_info_size; // 图像描述信息快的大小,常为28H
int bitmap_width; // 图像宽度
int bitmap_height; // 图像高度
unsigned short planes; // 图像的plane总数(恒为1)
unsigned short image_depth; // 记录颜色的位数取值1(双色),4,6,24,,3
unsigned int compression; // 数据压缩方式(0:不压缩;1:8位压缩;2:4位压缩
unsigned int image_size; // 图像区数据的大小,必须是4的倍数
int x_pels_permeter; // 水平每米有多少像素,在设备无关位图中,填写00H
int y_pels_permeter; // 垂直每米有多少像素,在设备无关位图中,填写00H
unsigned int color_used; // 此图像所有的颜色数,不用,固定为0
unsigned int color_important; // 重要颜色数,不用,固定为0
} __attribute__((packed)) bitmap_info_header;
// 调色板信息结构体
typedef struct tag_bitmap_palette
{
unsigned char blue;
unsigned char green;
unsigned char red;
unsigned char reserved;
} __attribute__((packed)) bitmap_palette;
标签:__,short,int,unsigned,bitmap,header,BMP,文件格式,相应
From: https://www.cnblogs.com/zeratul/p/18187091