VS2010 C++学习(2):BMP图像文件的处理 学习VC++编制的BMP 图像文件的处理程序
一、 主要内容: 1
BMP 图像文件的结构分析; 2
BMP 图像文件的读写; 3
BMP 图像文件的置固定值处理、反色处理、平滑处理; 二、 设计实现: 1
BMP图像文件的结构分析; A
BMP 文件结构 BMP 文件是 Windows 操作系统所推荐和支持的图像文件格式,是一种将内存或显示器的图像数据不经过压缩而直接按位存盘的文件格式,所以称为位图(bitmap)文件,因其文件扩展名为 BMP,故称为 BMP 文件格式,简称 BMP 文件
BMP 图像文件被分成 4 个部分: 1) 位图文件头(Bitmap File Header )、 2) 位图信息头(Bitmap Info Header )、 3) 颜色表(Color Map) 4) 位图数据(即图像数据,Data Bits 或 Data Body)
图 1 BMP 文件结构示意图 第 1 部分为位图文件头 BITMAPFILEHEADER,是一个结构体类型,该结构的长度是固定的,为 14 个字节
其定义如下: typedef struct tagBITMAPFILEHEADER { WORD bfType; DWORD bfSize; WORD bfReserved1; WORD bfReserved2; DWORD bfOffBits; } BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER; BITMAPFILEHEADER 结构的各个域详细说明如下: — bfType:位图文件类型,必须是 0x424D,即字符串“BM”,也就是说, 所有的“*
bmp”文件的头 两个字节都是“BM”
— bfSize:位图文件大小