仅此一次对BMP文件做详细分析的机会,想了解的朋友千万不能错

  

<强>什么是BMP吗?
骨形态发生蛋白是一种与硬件设备无关的图像文件格式,使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BblP文件所占用的空间很大BMP格式文件的图像深度可选lbit, 4位,8位及24 bit.bmp文件存储数据时,图像的扫描方式是按从左到右,从下到上的顺序。
由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
典型的BMP图像文件由三部分组成:位图文件头数据结构,它包含BMP图像文件的类型,显示内容等信息,位图信息数据结构,它包含有BMP图像的宽,高,压缩方法,以及定义颜色等信息
<强>具体数据举例:
如某BMP文件开头:
仅此一次对BMP文件做详细分析的机会,想了解的朋友千万不能错”> <br/> BMP文件可分为四个部分:位图文件头,位图信息头,彩色板,图像数据阵列,在上图中已用*分隔。<br/>一,图像文件头<br/> 1) 1:图像文件头.424Dh=癇M”,表示是Windows支持的BMP格式。<br/> 2) 2 - 3:整个文件大小.4690 0000年为00009046 h=36934。<br/> 3) 4 - 5:保留,必须设置为0。<br/> 4) 6 - 7:从文件开始到位图数据之间的偏移量.4600 0000年为00000046 h=70,上面的文件头就是35字=70字节。<br/> 5) 8 - 9:位图图信息头长度。<br/> 6)年级:位图宽度,以像素为单位.8000 0000年为00000080 h=128。<br/> 7) 12 - 13:位图高度,以像素为单位.9000 0000年为00000090 h=144。<br/> 8) 14:位图的位面数,该值总是1.0100,为0001 h=1。</p>
  <p>二、位图信息头<br/> 9) 15:每个像素的位数有1(单色),4(16色),8(256色),16 (64 k色,高彩色)、24日(16 m色,真彩色),32(4096色,增强型真彩色).1000为0010 h=16。<br/> 10) 16 - 17:压缩说明:有0(不压缩),1 (RLE 8日8位RLE压缩),2 (RLE 4, 4位RLE压缩,3(本、位域存放).RLE简单地说是采用像素数+像素值的方式进行压缩.T408采用的是位域存放方式,用两个字节表示一个像素,位域分配为r5b6g5。图中0300 0000为00000003 h=3。<br/> 11) 18日至19日:用字节数表示的位图数据的大小,该数必须是4的倍数,数值上等于位图宽度×位图高度×每个像素位数.0090 0000为00009000 h=80×90×2 h=36864。<br/> 12) 20日至21日:用象素/米表示的水平分辨率.A00F 0000为0000 0 fa0h=4000。<br/> 13) 22日至23日:用象素/米表示的垂直分辨率.A00F 0000为0000 0 fa0h=4000。<br/> 14) 24 - 25日:位图使用的颜色索引数,设为0的话,则说明使用所有调色板项。<br/> 15) 26 - 27日:对图象显示有重要影响的颜色索引的数目。如果是0,表示都重要。三,彩色板(非必有)</p>
  <p> 16) 28-35:彩色板规范。对于调色板中的每个表项,用下述方法来描述RGB的值:</p>
  <p> 1字节用于蓝色分量</p>
  <p> 1字节用于绿色分量</p>
  <p> 1字节用于红色分量</p>
  <p> 1字节用于填充符(设置为0)</p>
  <p>对于24 -位真彩色图像就不使用彩色板,因为位图中的RGB值就代表了每个象素的颜色。</p>
  <p>如,彩色板为00 f00 f8 0000 E007 0000 0000 0000 0000,其中:<br/> 00 fb 0000为FB00h=1111100000000000(二进制),是红色分量的掩码。<br/> E007 0000为07年e0h=0000011111100000(二进制),是绿色分量的掩码。<br/> 1 f00 0000为001 fh=0000000000011111(二进制),是红色分量的掩码。<br/> 0000 0000总设置为0。<br/>将掩码跟像素值进行”与“运算再进行移位操作就可以得到各色分量值。看看掩码,就可以明白事实上在每个像素值的两个字节16位中,按从高到低取5,6,5位分别就是r, g, b分量值。取出分量值后把r, g, b值分别乘以8、4、8就可以补齐第个分量为一个字节,再把这三个字节按rgb组合,放入存储器(同样要反序),就可以转换为24位标准BMP格式了。<br/> <img src=仅此一次对BMP文件做详细分析的机会,想了解的朋友千万不能错