BMP文件的格式
2010-05-11 14:46
211 查看
BMP文件的格式:
BITMAPINFOHEADER结构体:(40字节)
RGBQUAD结构体:(4字节)
BITMAPINFO结构体:
位图数据
位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:
当biBitCount=1时,8个像素占1个字节;
当biBitCount=4时,2个像素占1个字节;
当biBitCount=8时,1个像素占1个字节;
当biBitCount=24时,1个像素占3个字节;
Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充。
BITMAPFILEHEADER结构体:(14字节) typedef struct tagBITMAPFILEHEADER{ WORD bfType; // 位图文件的类型,必须为BM DWORD bfSize; // 位图文件的大小,以字节为单位 WORD bfReserved1; // 位图文件保留字,必须为0 WORD bfReserved2; // 位图文件保留字,必须为0 DWORD bfOffBits; // 位图数据的起始位置,以相对于位图文件头的偏移量表示 } BITMAPFILEHEADER;
BITMAPINFOHEADER结构体:(40字节)
typedef struct tagBITMAPINFOHEADER{ DWORD biSize; // 本结构所占用字节数 LONG biWidth; // 位图的宽度,以像素为单位 LONG biHeight; // 位图的高度,以像素为单位 WORD biPlanes; // 目标设备的级别,必须为1 WORD biBitCount // 每个像素所需的位数,必须是1(双色), // 4(16色),8(256色)或24(真彩色)之一 DWORD biCompression; // 位图压缩类型,必须是 0(不压缩), // 1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一 DWORD biSizeImage; // 位图的大小,以字节为单位 LONG biXPelsPerMeter; // 位图水平分辨率,每米像素数 LONG biYPelsPerMeter; // 位图垂直分辨率,每米像素数 DWORD biClrUsed; // 位图实际使用的颜色表中的颜色数 DWORD biClrImportant; // 位图显示过程中重要的颜色数 } BITMAPINFOHEADER;
RGBQUAD结构体:(4字节)
typedef struct tagRGBQUAD { BYTE rgbBlue; // 蓝色的亮度(值范围为0-255) BYTE rgbGreen; // 绿色的亮度(值范围为0-255) BYTE rgbRed; // 红色的亮度(值范围为0-255) BYTE rgbReserved; // 保留,必须为0 } RGBQUAD;
BITMAPINFO结构体:
typedef struct tagBITMAPINFO { BITMAPINFOHEADER bmiHeader; //位图信息头 RGBQUAD bmiColors[1];//颜色表 } BITMAPINFO;
位图数据
位图数据记录了位图的每一个像素值,记录顺序是在扫描行内是从左到右,扫描行之间是从下到上。位图的一个像素值所占的字节数:
当biBitCount=1时,8个像素占1个字节;
当biBitCount=4时,2个像素占1个字节;
当biBitCount=8时,1个像素占1个字节;
当biBitCount=24时,1个像素占3个字节;
Windows规定一个扫描行所占的字节数必须是4的倍数(即以long为单位),不足的以0填充。
相关文章推荐
- BMP典型的文件格式
- BMP文件格式
- BMP文件格式详解(BMP file format) (转)
- 最简易的BMP文件格式读取和显示示意程序
- BMP文件格式详解
- BMP文件格式简介(转载)
- 位图文件(BMP)格式分析以及程序实现
- CIF格式文件转BMP文件
- 位图文件(BMP)格式以及Linux下C程序实现
- BMP文件格式(转)
- [转] BMP文件格式
- BMP文件格式
- BMP文件格式分析
- BMP文件格式
- BMP文件格式详解
- 解决eWebEditor上传图片提示:请选择一个有效的文件,支持的格式有(GIF|JPG|JPEG|BMP|PNG)!
- bmp文件格式
- BMP、GIF和JPEG文件格式简介及相互转换
- bmp文件格式分析
- 【文件格式】BMP文件格式