读取并显示一幅位图的方法:
1、读取文件头,文件头格式如下:
typedef struct tagBITMAPFILEHEADER {
WORD bfType;//位图标识,必须示‘BM’
DWORD bfSize;//标识位图文件的大小,单位是字节
WORD bfReserved1;//未使用
WORD bfReserved2;//未使用
DWORD bfOffBits;//从头文件到位图数据的偏移量,主要是指头文件和调色板的长度,如果是256色的位图,则这个值为1078,文件头14+位图头40+调色板256×4
} BITMAPFILEHEADER;
这是MFC中定义的位图头文件。
2、读入位图头和位图数据
位图头的格式如下:
typedef struct tagBITMAPINFOHEADER {
DWORD biSize;//标识该结构的大小,应该是40;
LONG biWidth;//位图的宽度
LONG biHeight;//位图的高
WORD biPlanes;//必须为1
WORD biBitCount;//标识位图的颜色数目,标识2的biBitCount次方色的位图,256色位图这里为8
DWORD biCompression;//是否压缩;
DWORD biSizeImage;//位图的大小,一遍是宽×高,宽必须是4的整数倍。如果是RGB位图,这里为0;
LONG biXPelsPerMeter;//目标设备的水平分辨率
LONG biYPelsPerMeter;//目标设备的垂直分辨率
DWORD biClrUsed;//实际使用到的颜色数
读取并显示一幅位图的方法
最新推荐文章于 2024-05-03 22:43:37 发布