bmp头

struct bitmap_header           //文件头 14个字节
{
    u_int16_t bfType;          // 文件类型,必须为BM
    u_int32_t bfSize;           // 位图文件大小
    u_int16_t bfReserved1;     // 预留位
    u_int16_t bfReserved2;
    u_int32_t bfOffBits;        // bmp图像文件头数据偏移量
}attribute((packed));           // 忽略该结构体地址对齐

struct bitmap_info             // 像素头 40个字节
{
    u_int32_t biSize;          // 本结构大小
    u_int32_t biWidth;         // 像素点宽度
    u_int32_t biHeight;        // 像素点高度
    u_int16_t biPlanes;        // 目标设备的级别,必须为1
    u_int16_t biBitCount;       // 色深每个像素点所占的位数24bit
    u_int32_t biCompression;  // 是否压缩,0表示不压缩
    u_int32_t biSizeImage;     // bmp数据大小,必须是4的整数倍
    u_int32_t biXPelsPerMeter; // 位图水平分辨率
    u_int32_t biYPelsPerMeter; // 位图垂直分辨率
    u_int32_t biClrUsed;       // 位图实际使用的颜色表中的颜色数
    u_int32_t biClrImportant;   // 位图显示过程中重要的颜色数
}attribute((packed));

你可能感兴趣的:(bmp头)