BMP结构体解析

1.位图文件头

typedef struct tagBITMAPFILEHEADER {

        WORD bfType;    //指定文件类型,必须是"BM"

        DWORD bfSize;    //指定文件的大小,以字节表示

        WORD bfReserved1;    //保留字,必须为0

        WORD bfReserved2;    //保留字,必须为0

        DWORD bfOffBits;     //指定从实际图像数据到文件头起始的偏移量,以字节为单位

} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;

2.位图信息头

typedef struct tagBITMAPINFOHEADER{

        DWORD      biSize;    //本结构体占用的大小,单位为字节

        LONG      biWidth;    //位图图像宽度,单位为像素

        LONG      biHeight;

        WORD      biPlanes;    //设备上颜色平面数目,必须为1

        WORD      biBitCount;    //存储每个象素所使用的二进制位数

        DWORD      biCompression;    //是否压缩

        DWORD      biSizeImage;    //指定图像大小

        LONG      biXPelsPerMeter;    //图像的水平分辨率

        LONG      biYPelsPerMeter;    

        DWORD      biClrUsed;    实际使用的颜色数

        DWORD      biClrImportant;    重要颜色数

} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER, *PBITMAPINFOHEADER;

3.调色板结构

typedef struct tagRGBQUAD {

        BYTE    rgbBlue;    

        BYTE    rgbGreen;

        BYTE    rgbRed;

        BYTE    rgbReserved;    //保留值

} RGBQUAD;

你可能感兴趣的:(BMP结构体解析)