介绍:
在生活中我们经常会用到各种格式的图片文件,当中bmp文件算是最为基础的,其全称为bitmap image file(位图文件),别名device independent bitmap file(设备无关位图文件),后缀为.bmp,.dib。设备无关的意思为bmp文件的显示不依赖于操作系统、平台。bmp的文件格式使得它能够存储任意宽高、任意分辨率的二维数字化图片,不管是黑白的,有多种颜色的,还是色深不同的,亦或是选择了数据压缩、alpha通道,color profiles(颜色配置文件),都能实现需求。
BMP文件结构:
这里忽略以前使用的.dib格式,只关注.bmp。
以win32 GDI为例:可分为FileHeader, InfoHeader, PixelArray(代指图像数据),ColorTable四部分。
1.
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
FileHeader:
bfType--声明文件类型为bmp, 具体数值为字符“BM”, ASCII码为0x4D42(十进制为19778)
bfSize--文件大小(单位:字节),非文件实际占用空间大小
bfReserved1、bfReserved2--保留区,默认为0
bfOffBits--文件头开始到图像数据之间的偏移字节量