关于vc++中 bmp文件的读取
我用vc++2008进行编译:#include<stdlib.h>#include<iostream>#include<fstream>#include<math.h>u...
我用vc++2008进行编译:
#include<stdlib.h>
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
typedef struct tagBITMAPFILEHEADER
{
short int bfType; /* 类型标志,总是BM */
unsigned int bfSize; /* 文件大小 */
short int bfReserved1;
short int bfReserved2;
unsigned int bfOffBits; /* 位图点阵偏移量*/
}HEAD;
typedef struct tagBITMAPINFOHEADER
{
unsigned int biSize; // 本结构所占用字节数
unsigned int biWidth; // 位图的宽度,以像素为单位
unsigned int biHeight; // 设备的平面数不清,必须为1
short int biBitCount;// 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一
unsigned int biCompression; // 位图压缩类型,必须是 0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
unsigned int biSizeImage; // 位位图的高度,以像素为单位
short int biPlanes; // 目标图的大小,以字节为单位
unsigned int biXPelsPerMeter; // 位图水平分辨率,每米像素数
unsigned int biYPelsPerMeter; // 位图垂直分辨率,每米像素数
unsigned int biClrUsed;// 位图实际使用的颜色表中的颜色数
unsigned int biClrImportant;// 位图显示过程中重要的颜色数
}INFO;
INFO strInfo;
.................
用:
infile.read((char *)&strInfo,sizeof(strInfo));
读取bmp 文件头中的信息 但读出来诸如尺寸之类的数据是错误的!请教一下大虾们 问题出在哪儿 或可能出在哪儿?
如果win由定义 那该怎么用?若方便 希望 能给个范例 谢谢. 展开
#include<stdlib.h>
#include<iostream>
#include<fstream>
#include<math.h>
using namespace std;
typedef struct tagBITMAPFILEHEADER
{
short int bfType; /* 类型标志,总是BM */
unsigned int bfSize; /* 文件大小 */
short int bfReserved1;
short int bfReserved2;
unsigned int bfOffBits; /* 位图点阵偏移量*/
}HEAD;
typedef struct tagBITMAPINFOHEADER
{
unsigned int biSize; // 本结构所占用字节数
unsigned int biWidth; // 位图的宽度,以像素为单位
unsigned int biHeight; // 设备的平面数不清,必须为1
short int biBitCount;// 每个像素所需的位数,必须是1(双色), 4(16色),8(256色)或24(真彩色)之一
unsigned int biCompression; // 位图压缩类型,必须是 0(不压缩),1(BI_RLE8压缩类型)或2(BI_RLE4压缩类型)之一
unsigned int biSizeImage; // 位位图的高度,以像素为单位
short int biPlanes; // 目标图的大小,以字节为单位
unsigned int biXPelsPerMeter; // 位图水平分辨率,每米像素数
unsigned int biYPelsPerMeter; // 位图垂直分辨率,每米像素数
unsigned int biClrUsed;// 位图实际使用的颜色表中的颜色数
unsigned int biClrImportant;// 位图显示过程中重要的颜色数
}INFO;
INFO strInfo;
.................
用:
infile.read((char *)&strInfo,sizeof(strInfo));
读取bmp 文件头中的信息 但读出来诸如尺寸之类的数据是错误的!请教一下大虾们 问题出在哪儿 或可能出在哪儿?
如果win由定义 那该怎么用?若方便 希望 能给个范例 谢谢. 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询