bmp文件格式详解 bmp格式解析讲解(2)
bmp文件格式详解
当biCompression成员的值是BI_BITFIELDS,那么情况就复杂了,首先是原来调色板的位置被三个DWORD变量占据,称为红、绿、蓝掩码。分别用于描述红、绿、蓝分量在16位中所占的位置。
5、BitCount=24
表示位图最多有2的24次方,大约1670万种颜色。这种位图没有调色板(bmiColors成员尺寸为0),在位数组中,每3个字节代表一个象素,分别对应于颜色R、G、B。
6、BitCount=32
表示位图最多有2的32次方种颜色。这种位图的结构与16位位图结构非常类似。
当biCompression成员的值是BI_RGB时,它也没有调色板,32位中有24位用于存放RGB值,顺序是:最高位—保留,红8位、绿8位、蓝8位。这种格式也被成为888。
当biCompression成员的值是BI_BITFIELDS时,原来调色板的位置将被三个DWORD变量占据,成为红、绿、蓝掩码,分别用于描述红、绿、蓝分量在32位中所占的位置。
4、BMP位图信息
BMP位图包含的信息主要有:位图文件头、位图信息头、位图数据,它们的基本概况如下:
1)bmp文件头(bmp file header):提供文件的格式、大小等信息
2)位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息
3)调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表
3)位图数据(bitmap data):就是图像数据
5、BMP位图的C语言代码解析
我们知道,一个BMP位图它包含有几部分的内容信息,大致如下图所示:

从图中我们可以分析出,如果要获取一个位图的完整信息,需要分别获取文件信息头、位图信息头、位图的RGB颜色数据。下面就简单演示一些简单的获取BMP位图信息的演示代码。
(1)文件信息头
文件信息头主要存放包括bmp文件的标识、大小等的信息。
获取文件信息头的数据结构可以按照如下:
typedef struct BMP_FILE_HEADER{WORD bType; // 文件标识符DWORD bSize; // 文件的大小 WORD bReserved1; // 保留值,必须设置为0 WORD bReserved2; // 保留值,必须设置为0 DWORD bOffset; // 文件头的最后到图像数据位开始的偏移量,//说明从文件头开始到实际的图象数据之间的字节的偏移量//因为位图信息头和调色板的长度会根据不同情况而变化//所以你可以用这个偏移值迅速的从文件中读取到位数据} BMPFILEHEADER; // 14 字节
这个结构体的解析如下:
相关阅读
-
12306上怎么抢票抢的快? 12306抢票怎样比较容易抢到
一篇方法教程,与您分享12306抢票怎样比较容易抢到的话题,12306抢票可以在手机上打开铁路12306,选择候补下单,这样就可以比较容易抢到票了,具体步骤如下:
-
可以用来制作网页的软件有哪些 制作网页链接的方式
如果想了解可以用来制作网页的软件有哪些和制作网页链接的方式的相关话题,下面IT袋为您详细介绍 一、建站软件是什么? 建站软件是可以快速建立网站的系统,只要会打字,无需专业知识
-
搜狗输入法设置快捷短语教程 新版搜狗输入法快捷短语怎么设置
这些知识你了解吗?搜狗输入法设置快捷短语教程IT技巧方面的经验,关于搜狗输入法设置快捷短语教程 跟 新版搜狗输入法快捷短语怎么设置,一起来了解了解吧。 搜狗输入法是一款非常优秀
-
怎么查看qq群待办 qq群待办查看完成方法
IT袋网为你介绍qq群待办查看完成方法的相关经验,关于qq群待办查看完成方法 或者 怎么查看qq群待办,相关内容具体如下: 我们如果加入了一些qq群,可能会有一些群主或管理员发布的任务,


