[转]BMP文件格式详解(BMP file format)

来源:互联网 发布:linux cpu 内存 查看 编辑:程序博客网 时间:2024/05/21 10:29

BMP文件的数据按照从文件头开始的先后顺序分为四个部分:

Ø         bmp文件头(bmp file header)提供文件的格式、大小等信息

Ø         位图信息头(bitmap information)提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息

Ø         调色板(color palette)可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表

Ø         位图数据(bitmap data)就是图像数据啦^_^

三、调色板
下面的数据就是调色板了。前面也已经提过,调色板其实是一张映射表,标识颜色索引号与其代表的颜色的对应关系。它在文件中的布局就像一个二维数组palette[N][4],其中N表示总的颜色索引数,每行的四个元素分别表示该索引对应的BGRAlpha的值,每个分量占一个字节。如不设透明通道时,Alpha0。因为前面知道,本图有256个颜色索引,因此N = 256

 一共有256种颜色,每个颜色占用4个字节,就是一共1024个字节,再加上前面的文件信息头和位图信息头的54个字节加起来一共是1078个字节。也就是说在位图数据出现之前一共有1078个字节,与我们在文件信息头得到的信息:文件头到文图数据区的偏移为1078个字节一致!

四、位图数据

下面就是位图数据了,每个像素占一个字节









参考:BMP文件格式详解(BMP file format) 



Bits Per Pixel 1 word 每个象素的位数 
  1 - 单色位图(实际上可有两种颜色,缺省情况下是黑色和白色。你可以自己定义这两种颜色) 
  4 - 16 色位图 
  8 - 256 色位图 
  16 - 16bit 高彩色位图 
  24 - 24bit 真彩色位图 
  32 - 32bit 增强型真彩色位图 


256色模式: 共8 bits (B: 2 bits; G: 3 bits; R: 3 bits)。
High color:共16 bits (B: 5 bits, G: 6 bits, R: 5 bits)。
True color:一般24bit就是8bit/通道,真彩色。
windows下的32位是R、G、B三个通道各占8位共24位,加上明度通道8位,所以是32位,24位也就是R、G、B三个通道各占6位共18位,加上明度通道6位,所以是24位。



0 0
原创粉丝点击