一、位图(bmp)
1.位图简介
BMP(全称Bitmap)是Windows操作系统中的标准图像文件格式,可以分成两类:设备相关位图(DDB)和设备无关位图(DIB),使用非常广。它采用位映射存储格式,除了图像深度可选以外,不采用其他任何压缩,因此,BMP文件所占用的空间很大。BMP文件的图像深度可选lbit、4bit、8bit及24bit。BMP文件存储数据时,图像的扫描方式是按从左到右、从下到上的顺序。由于BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式。
BMP位图文件默认的文件扩展名是.BMP,有时它也会以.DIB或.RLE作扩展名。
2.整体结构
BMP格式的文件从头到尾依次是如下信息:
- bmp文件头(bmp file header):共14字节;
- 位图信息头(bitmap information):共40字节;
- 调色板(color palette):可选;
- 位图点阵数据(bits data);
24与32位真彩色位图没有颜色表,所以只有1、2、4这三部分。
3.bmp文件头
bmp文件头结构体为BITMAPFILEHEADER,共14字节,定义如下:
typedef struct tagBITMAPFILEHEADER {
WORD bfType; //文件标识,规定为0x4D42,字符显示就是'BM'
DWORD bfSize; //文件大小
WORD bfReserved1; //保留,必须设置为0
WORD bfReserved2; //保留,必须设置为0
DWORD bfOffBits; //从头到点阵数据的偏移
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
4.位图信息头
位图信息头包括BITMAPINFOHEA