📄 bmp位图.htm
字号:
<html><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312"><meta name="GENERATOR" content="Microsoft FrontPage 4.0"><meta name="ProgId" content="FrontPage.Editor.Document"><meta name="keywords" content="数字图像处理,模式识别,多媒体数据库,江苏理工大学"><meta name="description" content="关于数字图像处理技术的网站"><title>main1</title><base target="main"><LINK href="zf.css" rel="stylesheet" type="text/css"></head><body bgproperties="fixed" background="images/background.gif"><p align="center">位图文件格式</p> <hr color="#FF9933" size="1" width="80%"> <p>BMP是BitMap的缩写。BitMap格式文件最早是在MS-Windows3.0以上版本的视窗操作系统环境下使用的与设备无关(DIB)的点阵位图文件格式,也就是说Windows可以在任何设备上显示BitMap文件。随着Windows影响的扩大及其版本的日臻完善,使Windows已经成为PC操作系统的工业标准。现在各种版本的Windows环境中运行的图形、图象文件处理工具都支持BitMap格式文件。它的主要特点有:文件结构与PCX文件类似,每个文件只能存放一幅图象;图象数据是否采用压缩方式可由用户根据需要进行选择。<br>每个BMP文件中都包含三个部分:</p> <p><br> 1.点阵位图文件头(BitMapFileHeader):它里面包含有设备无关的点阵位图文件的类<br> 型、尺寸、显示内容等信息。<br><br>BMP文件头BitMapFileHeader可以用如下结构来描述:<br><br>Typedef struct<br> <br> {</p> <p>int bfType;<br> <br> long bfSize;<br> <br> int bfReserved1;<br> <br> int bfReserved2;<br> <br> long bfOffbits;<br> <br> }BitMapFileHeader;<br> <br> 此结构中各字段含义如下:<br> <br> ·bfType 规定的位图文件类型,必须是“BM”作为识别的BMP文件的标志。<br> <br> ·bfSize 位图文件的大小,以字节为单位。<br> <br> ·bfRserved1 位图文件保留字,必须置为0。<br> <br> ·bfRserved2 位图文件保留字,必须置为0。<br> <br> ·bfOffbits 给出位图阵列,即实际点位图相对于BitMapFileHeader的偏移量,以字节为单位。</p> <p><br> 2.</p> <p>(1)点阵位图信息头(BitMapInfoHeader)数据结构:它含有关于Windows3.0及其更高版本与设备无关点阵位图的尺寸和格式信息,包括图象的宽度、高度及压缩方法等。<br> <br> 其结构如下:<br> <br> typedef struct<br> <br> {<br> <br> long biSize;<br> <br> long biWidth;<br> <br> long biHeight;<br> <br> int biPlanes;<br> <br> int biBitCount;<br> <br> long biComprission;<br> <br> long biSizeImage;<br> <br> long biXPelsPerMeter;<br> <br> long biYPelsPerMeter;<br> <br> long biClrUsed;<br> <br> long biClrImportant;<br> <br> }BitMapInfoHeader;<br> <br> 结构中各字段含义如下:<br> <br> ·biSize BitMapInfoHeader结构所需要的字节数。<br> <br> ·biWidth 位图的宽度(以象素为单位)。<br> <br> ·biHeight 位图的高度(以象素为单位)。<br> <br> ·biPlanes 输出设备的位平面数且必须置1。<br> <br> ·biBitCount 每个象素所需的位数;必须是1(单色)、4(16色)8(256色)或24(真彩色)之一。<br> <br> ·biCompression 点阵位图规定的压缩类型;必须是0(不压缩)、1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一。<br> <br> ·biSizeImage 位图数据字节数。<br> <br> ·biXPeIsPerMeter 位图的目标设备水平分辨率,以每米象素数为单位。<br> <br> ·biYPeIsPerMeter 位图的目标设备垂直分辨率,以每米象素数为单位。<br> <br> ·biClrUsed 调色板中图象实际使用的颜色数。<br> <br> ·biClrImportant 位图显示过程中被认为重要的颜色索引值。<br> <br> (2)颜色表(RGBQUAD):用于说明位图中的颜色。它有若干个表项,每一表项是一个RGBQUAD类型的结构,定义一种颜色。<br> <br> 其结构如下:<br> <br> typedef struct<br> <br> {<br> <br> unsigned char rgbBlue;<br> <br> unsigned char rgbGreen;<br> <br> unsigned char rgbRed;<br> <br> unsigned char rgbReserved;<br> <br> }RGBQUAD;<br> <br> 在由RGBQUAD定义的颜色中,蓝色的亮度由rgbBlue来定,绿色的亮度由rgbGreen来定,红色的亮度由rgbRed来定。RgbReserved为保留字,必须置0。<br> <br> 当biBitCount=1、4、8时,颜色表中分别有2、16、256个表项。<br> <br> 当biBitCount=24时,颜色表中表项为空。位图阵列的每3个字节代表一个象素,3个字节直接定义了象素颜色中的蓝、绿、红的相对亮度,因此省去了颜色表中的颜色表项。<br> <br> 3.位图阵列。<br> <br> 按从左下到右上的方向存储象素的灰度值。它有压缩和非压缩两种存储格式。</p> <div align="center"><center> <table border="0" cellspacing="15"> <tr> <td><a href="index6.html" target="main">返回</a></td> </tr> </table> <DIV align=center> <CENTER> <TABLE cellSpacing=0 cellPadding=0 width="99%" border=0> <TBODY> <TR> <TD width="100%"> <P align=center>Imageworld<BR> Copyright © 2000-2001 Zhang Fan<BR><A href="mailto:zf@51.com">ZF@51.com</A><BR> <SCRIPT language=JavaScript> <!-- Begin var m = "Updata: " + document.lastModified; var p = m.length-8; document.writeln("<right>"); document.write(m.substring(p, 0)); document.writeln("</right>"); // End --> </SCRIPT> </P></TD></TR></TBODY></TABLE></CENTER></DIV> </center></div> </body> </html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -