在对BMP图像进行一系列操作之前,我们应对BMP图像及其文件结构进行一系列的了解
BMP图像
- BMP文件是Windows操作系统所支持的图像文件格式,是一种将内存或显示器的图像数据不经压缩(除某些类型的DIB图像)而直接按位存盘的文件格式,故称为位图(bitmap)文件。
- BMP图像被分为4个部分:
-Bitmap File Header 位图文件头
-Bitmap Infor Header 位图信息头
-Color Map 颜色表
-Data Bits 位图数据 - BMP文件的图像深度可选1 bit, 4 bit, 8 bit 及 24 bit
- BMP文件存储数据时,图像的扫描方式是按照从左到右、从上到下的顺序。
BMP文件结构
BMP图像被分为四个部分:
1) BITMAPFILEHEADER 位图文件头
typedef struct tagBITMAPFILEHEADER
{
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
}BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER
2)BITMAPINFOHEADER 位图信息头
typedef struct tagBITMAPINFOHEADER
{
DWORD biSize;
LONG biWidth;
LONG biHeight;
WORD biPlanes;
WORD biBitCount
DWORD biCompression;
DWORD biSizeImage;
LONG biXPelsPerMeter;
LONG biYPelsPerMeter;
DWORD biClrUsed;
DWORD biClrImportant;
} BITMAPINFOHEADER, FAR *LPBITMAPINFOHEADER,
*PBITMAPINFOHEADER;
3)RGBQUAD 颜色表
typedef struct tagRGBQUAD
{
BYTE rgbBlue;
BYTE rgbGreen;
BYTE rgbRed;
BYTE rgbReserved;
}RGBQUAD;
4)Data Bits位图数据
- Data Bits记录了图像的每一个像素值。
- 每行的像素所占字节数需扩展成4的倍数。