BMP、PNG格式解析

一、BMP

1.BMP简介

  微软定义一种图片数据格式。

          .....位图数据..... 

2.文件信息头

3.位图信息头

   需要特别注意:biHeight数据域,有正有负值,代表意义不同。 

4.彩色表和颜色

   如果图像是单色、16色和256色,则紧跟着调色板的是位图数据,位图数据是指向调色板的索引序号。

   如果位图是16位、24位和32位色,则图像文件中不保留调色板,图像的颜色直接在位图数据中存储。

   16位图像使用2字节保存颜色值,555(rgb 只适用15位)、565(rgb)格式

   24位图像使用3字节保存颜色值,RGB(红、绿、蓝)

   32位图像使用4字节保存颜色值,RGBA (红、绿、蓝、透明度)

   当图像带有调色板时,位图数据可以根据需要选择压缩与不压缩,如果选择压缩,则跟BMP图像是16色或256色,采用RLE4或RLE8压缩算法压缩。

       RLE8与RLE4唯一区别在于,RLE8使用1字节存放颜色索引,而RLE4使用4位存放颜色索引。

二、PNG 

1.基本结构 

 

2.PNG文件标志

   PNG文件标志由8字节数据组成:89 50 4E 47 0D 0A 1A 0A ,其中50 4E 47对应ASCII值"PNG‘’。

3.数据块

   紧跟PNG文件标志后面的就是数据块。

   数据块分为两类:关键数据块和辅助数据块。

   关键数据块在PNG文件中是必须有的,辅助数据块是可选的。

3.1关键数据块

   关键数据块由4部分组成:文件头数据块、调色板数据块、图像数据块、图像结束数据

 

 

3.2辅助数据块

   辅助数据块有14个,包含了很多信息,是可选的。

发布了343 篇原创文章 · 获赞 57 · 访问量 20万+

猜你喜欢

转载自blog.csdn.net/jadeshu/article/details/103940682