Bmp格式说明

来源:互联网 发布:源代码加密软件 编辑:程序博客网 时间:2024/06/07 13:58

Bmp{
  //文件头的偏移量表示,以字节为单位

FileHeader{
       位图文件的类型,必须为BM(1-2字节)
       位图文件的大小,以字节为单位(3-6字节,低位在前)
       位图文件保留字,必须为0(7-8字节)
       位图文件保留字,必须为0(9-10字节)
       位图数据的起始位置,以相对于位图(11-14字节,低位在前) 通过该字节确定图像数据阵列起点

}

  //本结构所占用字节数(15-18字节)

 BmpHeader{
       
        位图的宽度,以像素为单位(19-22字节)
        位图的高度,以像素为单位(23-26字节)
        目标设备的级别,必须为1(27-28字节)
        每个像素所需的位数,必须是1(双色),(29-30字节)4(16色),8(256色)16(高彩色) 24(真彩色)32之一
        位图压缩类型,必须是0(不压缩),(31-34字节)1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
        位图的大小(其中包含了为了补齐行数是4的倍数而添加的空字节),以字节为单位(35-38字节)
        位图水平分辨率,每米像素数(39-42字节)
        位图垂直分辨率,每米像素数(43-46字节)
        位图实际使用的颜色表中的颜色数(47-50字节)
        位图显示过程中重要的颜色数(51-54字节)

}

//调色板  根据位图数据的起始位置判断是否有调色板  调色板以4字节为单位,每4个字节存放一颜色,图像数据阵列是调色板的索引 调色板有:

1色(黑白01 1位)、16色(半字节)、256色(1字节)像素位数16 、24、32一般没有调色板 (有待再续)

RGBQUAD {  

rgbBlue;// 蓝色的亮度 ( 值范围为 0-255)   

rgbGreen; // 绿色的亮度 ( 值范围为 0-255)  

rgbRed; // 红色的亮度 ( 值范围为 0-255)   

rgbReserved;// 保留,必须为 0   

}

//图像数据阵列

Body{

int skip=4-width*bitCount%4;//得到每行要跳过的数字(与windows 系统机制有关,windows规定一个扫描行所占的字节数必须是4的倍数

}

0 0
原创粉丝点击