浅析BMP文件格式

我们在编程的时辰, 有的时辰会用到BMP文件的存储以及读取, 这个时辰就需要对BMP文件格局有一个大要的领会才能顺遂的读取以及存储BMP文件

浅析BMP文件格式

文章插图
总述1BMP文件总体来说由四部门组成, 别离为位图文件头、位图信息头、彩色表和图像数据阵列 。 知道了文件的构成那么大要说一下文件这几部门大小:
位图文件头大小为14字节,
位图信息头为40字节,
彩色表按照BMP图的分歧(我感受这里的分歧指的就是日常平凡说的单色位图、8位位图以及16位位图或者24位位图这种分歧)而大小分歧
图像数据阵列就是看图片的大小而分歧了, 接下来具体针对分歧部门来进行诠释, 如下图:

浅析BMP文件格式

文章插图

位图文件头1位图文件头如下图有五个部门构成, 依次进行诠释:
1.bfType:2字节 暗示位图类型, 因为这里解析的是BMP文件, 所以这两个字节为BM
2.bfSize:4字节 暗示文件的大小
3.bfReserved1:2字节 这个是保留的, 为0
4.bfReserved2:2字节 这个也是保留的, 为0
5.bfOffBits:4字节 这个是说文件起头到现实图像数据之间的字节偏移量, 我理解的文件包罗四个部门, 最后一个部门为现实图像数据, 所以这个量指的就是前三个内容的大小

浅析BMP文件格式

文章插图

位图信息头 和 彩色表1下图中的变量BITMAPINFO布局暗示位图信息头, 包罗两个部门, 别离诠释:
1.bmiHeader 40字节  暗示位图文件信息头 这个在
2进行具体诠释
2.bmiColors 字节不定 暗示彩色表 这个在
3进行具体诠释

浅析BMP文件格式

文章插图

2下图中暗示的就是bmiHeader 位图信息头的构成部门, 别离进行诠释:
1.biSize 4字节 暗示位图文件信息头的大小(为40 单元是字节)
2.biWidth 4字节  暗示位图文件的宽度(像素)
3.biHeight 4字节 暗示位图文件的高度(像素)
4.biPlanes 2字节 不太理解, 一般为1
5.biBiCount 2字节  这个就是常说的几位位图, 值为1/4/8/16/24/32
6.biCompression 4字节 暗示位图文件的压缩体例, 默认0 暗示没有压缩
7.biSizeImage 4字节 暗示图像的大小, 当没有压缩的时辰, 这个值可觉得0
8.biXPelsPerMeter 4字节 暗示程度分辩率
9.biYPelsPerMeter 4字节 暗示垂直分辩率
10.biCIrUsed 4字节 暗示彩色表中的颜色索引数量
11.biCIrImportant 4字节 暗示有主要影响到颜色索引数量

浅析BMP文件格式

文章插图

3下图中暗示彩色表中一个彩色快的布局, 别离进行诠释
1.rgbBlue 1字节 蓝色
2.rgbGreen 1字节 绿色
3.rgbRed 1字节 红色
【浅析BMP文件格式】4.rgbReserved 1字节 保留位0

浅析BMP文件格式

文章插图

4申明一点:

推荐阅读