/*************************************************
*
* file name:BmpInfoStruct.c
* author :momolyl@126.com
* date :2024/05/11
* brief :构造一个结构体用于存储bmp图片的文件信息
* note :None
*
* CopyRight (c) 2024 momolyl@126.com All Right Reseverd
*
**************************************************/
// 位图文件头结构体
#pragma pack(1);
typedef struct BmpFileHeader /* size: 40 */
{
unsigned short bfType; // 文件的类型,该值必需是0x4D42,也就是字符'BM'。
unsigned int bfSize; // 位图文件的大小,用字节为单位
unsigned short bfReserved1; // 位图文件保留字,必须设置为0
unsigned short bfReserved2; // 位图文件保留字,必须设置为0
unsigned int bfOffBits; // 位图数据距离文件开头偏移量,用字节为单位
} BmpFileHeader_t;
// 位图信息头结构体
typedef struct BmpInfoHeader /* size: 40 */
{
unsigned int biSize; // BITMAPINFOHEADER结构所需要的字数
unsigned int biWidth; // 图像宽度,单位为像素
unsigned int biHeight; // 图像高度,单位为像素,负数,则说明图像是正向的
unsigned short biPlanes; // 为目标设备说明位面数,其值将总是被设为1
unsigned short biBitCount; // 一个像素占用的bit位,值位1、4、8、16、24、32
unsigned int biCompression; // 压缩类型
unsigned int biSizeImage; // 位图数据的大小,以字节为单位
unsigned int biXPelsPerMeter; // 水平分辨率,单位 像素/米
unsigned int biYPelsPerMeter; // 垂直分辨率,单位 像素/米
unsigned int biClrUsed; //
unsigned int biClrImportant; //
} BmpInfoHeader_t;
#pragma pack();