位图文件格式

转载 2006年06月10日 09:46:00

最近在做视频采集,要求将采集到的数据保存成BMP文件的格式,现在把BMP的格式贴一下,供大家学习

BMP 是 DOS 和 Windows 兼容计算机上的标准 Windows 图像格式。BMP 格式支持 RGB、索引颜色、灰度和位图颜色模式。可以为图像指定 Windows 或 OS/2? 格式和位深度。对于使用 Windows 格式的 4 位和 8 位图像,还可以指定 RLE 压缩。

BMP 图像通常是自下而上编写出;但您也可以选择“翻转行序”选项,自上而下编写。您还可以点按“高级模式”选择其他编码方法。(“翻转行序”和“高级模式”对于游戏程序员和其他使用 DirectX 的人员而言最有用。)

Windows bitmap,位图文件。这是电脑上最常用的文件格式,在Windows的目录里可以找到一大堆,大部分是Windows的桌面和壁纸图案。基本上所有软件都支持它,常见的BMP图形是没有压缩的,所以画面品质好,但是比较大。BMP有黑白、灰度、256色彩色和真彩色等多种,色彩数越多,文件越大,图像越逼真。由于不压缩的BMP图形是逐点记录画面信息的,所以它的文件尺寸与像素和色彩数成固定关系,如一幅真彩色的352x288的无压缩的BMP图形,不管内容是什么,那怕是空白的,它的文件大小永远304182字节。


  BMP是BitMap的缩写。BitMap格式文件最早是在MS-Windows3.0以上版本的视窗操作系统环境下使用的与设备无关(DIB)的点阵位图文件格式,也就是说Windows可以在任何设备上显示BitMap文件。随着Windows影响的扩大及其版本的日臻完善,使Windows已经成为PC操作系统的工业标准。现在各种版本的Windows环境中运行的图形、图象文件处理工具都支持BitMap格式文件。它的主要特点有:文件结构与PCX文件类似,每个文件只能存放一幅图象;图象数据是否采用压缩方式可由用户根据需要进行选择。
每个BMP文件中都包含三个部分:
   1.点阵位图文件头(BitMapFileHeader):它里面包含有设备无关的点阵位图文件的类
    型、尺寸、显示内容等信息。

BMP文件头BitMapFileHeader可以用如下结构来描述:

Typedef struct

{

int bfType;

long bfSize;

int bfReserved1;

int bfReserved2;

long bfOffbits;

}BitMapFileHeader;

此结构中各字段含义如下:

·bfType 规定的位图文件类型,必须是“BM”作为识别的BMP文件的标

志。

·bfSize 位图文件的大小,以字节为单位。

·bfRserved1 位图文件保留字,必须置为0。

·bfRserved2 位图文件保留字,必须置为0。

·bfOffbits 给出位图阵列,即实际点位图相对于BitMapFileHeader的偏移

量,以字节为单位。
2.(1)点阵位图信息头(BitMapInfoHeader)数据结构:它含有关于Windows3.0及其更高版本与设备无关点阵位图的尺寸和格式信息,包括图象的宽度、高度及压缩方法等。

其结构如下:

typedef struct

{

long biSize;

long biWidth;

long biHeight;

int biPlanes;

int biBitCount;

long biComprission;

long biSizeImage;

long biXPelsPerMeter;

long biYPelsPerMeter;

long biClrUsed;

long biClrImportant;

}BitMapInfoHeader;

结构中各字段含义如下:

·biSize BitMapInfoHeader结构所需要的字节数。

·biWidth 位图的宽度(以象素为单位)。

·biHeight 位图的高度(以象素为单位)。

·biPlanes 输出设备的位平面数且必须置1。

·biBitCount 每个象素所需的位数;必须是1(单色)、4(16色)8(256

色)或24(真彩色)之一。

·biCompression 点阵位图规定的压缩类型;必须是0(不压缩)、1(BI_RLE8

压缩类型)或2(BI_RLE4压缩类型)之一。

·biSizeImage 位图数据字节数。

·biXPeIsPerMeter 位图的目标设备水平分辨率,以每米象素数为单位。

·biYPeIsPerMeter 位图的目标设备垂直分辨率,以每米象素数为单位。

·biClrUsed 调色板中图象实际使用的颜色数。

·biClrImportant 位图显示过程中被认为重要的颜色索引值。

(2)颜色表(RGBQUAD):用于说明位图中的颜色。它有若干个表项,每一表项是一个RGBQUAD类型的结构,定义一种颜色。

其结构如下:

typedef struct

{

unsigned char rgbBlue;

unsigned char rgbGreen;

unsigned char rgbRed;

unsigned char rgbReserved;

}RGBQUAD;

在由RGBQUAD定义的颜色中,蓝色的亮度由rgbBlue来定,绿色的亮度由rgbGreen来定,红色的亮度由rgbRed来定。RgbReserved为保留字,必须置0。

当biBitCount=1、4、8时,颜色表中分别有2、16、256个表项。

当biBitCount=24时,颜色表中表项为空。位图阵列的每3个字节代表一个象素,3个字节直接定义了象素颜色中的蓝、绿、红的相对亮度,因此省去了颜色表中的颜色表项。

3.位图阵列。

      按从左下到右上的方向存储象素的灰度值。它有压缩和非压缩两种存储格式。


   

 

几种位图文件格式

 bmp文件   bmp(bitmap的缩写)文件格式是windows本身的位图文件格式,所谓本身是指windows内部存储位图即采用这种格式。一个.bmp格式的文件通常有.bmp的扩展名,但有一些是...
  • flydeveloper
  • flydeveloper
  • 2004年10月27日 15:01
  • 4522

位图(bmp)文件格式分析

位图(bmp)文件格式分析 作者:深蓝(由博主分享) 一、什么是位图 计算机能以位图和矢量图格式显示图像。 1、位图(Bitmap): 图像又称点阵图或光栅图,它使用我们称为像素(象素,Pi...
  • qingchuwudi
  • qingchuwudi
  • 2014年05月14日 11:42
  • 3405

位图文件, JPG格式,PNG格式

位图文件(Bitmap), 扩展名可以是.bmp或者.dib。位图文件是Windows标准格式图形文件,它将图像定义为由点(像素)组成,每个点可以由多种色彩表示,包括2、4、8、16、24和32位色彩...
  • u010003835
  • u010003835
  • 2015年07月23日 09:49
  • 1442

位图文件格式

一、位图文件结构 位图文件由三部分组成:文件头 + 位图信息 + 位图像素数据 1、位图文件头。位图文件头主要用于识别位图文件。以下是位图文件头结构的定义: typedef stru...
  • cbl709
  • cbl709
  • 2011年12月14日 00:30
  • 2985

<MFC笔记>位图格式及其存储和读取

本文目的:掌握从dat数据文件到从其保存出来的位图规格大小之间的关系   一,存储单位的基础知识(必须严格区分大小写) 1,计算机的基本单位 最小的单位:bit,位,可简写为b,读作“比特” 电脑最基...
  • EbowTang
  • EbowTang
  • 2014年06月13日 18:00
  • 1306

Windows位图文件格式

Windows位图文件格式 位图概述位图格式位图文件头结构包含关于类型,大小以及与设备无关的文件层。typedef struct tagBITMAPFILEHEADER {  WORD bfType;...
  • ding_net
  • ding_net
  • 2011年06月21日 15:40
  • 444

bmp位图的文件格式

BMP的4个组成部分:1.文件头信息块0000-0001:文件标识,为字母ASCII码“BM”。0002-0005:文件大小。0006-0009:保留,每字节以“00”填写。000A-000D:记录图...
  • longxin007
  • longxin007
  • 2005年12月19日 13:21
  • 2796

BMP位图文件格式

BMP位图是比较简单的图像文件格式,可以用几个数据结构来描述。 1 .typedef struct tagBITMAPFILEHEADER {//位图文件头 WORD           bfTy...
  • maysunyoung
  • maysunyoung
  • 2015年03月10日 09:48
  • 129

RFC797 位图文件格式

组织:中国互动出版网(http://www.china-pub.com/)RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook....
  • gjd111686
  • gjd111686
  • 2004年08月18日 10:27
  • 942

位图(BMP)文件格式(一)

位图文件分四部份数据块 1.位图文件头 BITMAPFILEHEADER typedef struct tagBITMAPFILEHEADER { WORD bfTy...
  • xufan123123
  • xufan123123
  • 2012年12月28日 22:02
  • 2153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:位图文件格式
举报原因:
原因补充:

(最多只允许输入30个字)