C语言解析BMP图片

BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。

先解释下数据存贮方式:

   1、在windows中,颜色顺序是:B G R。
   2、BMP的内存行顺序和图像显示的行顺序是上下颠倒的。
        即:BMP内存第0行,是真实图像下面的最后一行。
   举例,假如图像为2*2大小,像素三颜色按照RGB的顺序, 我们看到的图像为:
   1 2 3, 11 22 33
   4 5 6, 44 55 66

   内存表示如下:
   6 5 4, 66 55 44 (0 0)   -- 第0行
   3 2 1, 33 22 11   (0 0)   -- 第1行
   注意,通常内存是需要内存对齐的,所以每行后面可能会有对齐所产生的0.


最常见的就是24位图,所谓的24位图,就是说一个像素的颜色信息用24位来表示,也就是说,对于三原色BRG,每一个颜色都用以字节(8)位来表示。除了24位图,还有1位(单色),2位(4色,CGA),4位(16色,VGA),8位(256色),16位(增强色),24位(真彩色)和32位等

BMP文件的数据按照从文件头开始的先后顺序分为四个部分:
◆  位图文件头(bmp file header):  提供文件的格式、大小等信息     共14字节
◆  位图信息头(bitmap information):提供图像数据的尺寸、位平面数、压缩方式、颜色索引等信息   共40字节
◆  调色板(color palette):可选,如使用索引来表示图像,调色板就是索引与其对应的颜色的映射表
◆  位图数据(bitmap data):图像数据区


评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值