//读取文件的函数
int readBmp(char *bmpName)
{
FILE *fp=fopen(bmpName,"rb");//fp指向文件的开头
if(fp==NULL)
{
return 0;
}
else
{
fseek(fp, sizeof(BITMAPFILEHEADER),0); //以0为基准,偏移文件头个字节,fp指向此处,即信息头
BITMAPINFOHEADER head; //定义信息头结构变量
fread(&head, sizeof(BITMAPINFOHEADER), 1,fp); //head指向读取出的信息头
bmpWidth = head.biWidth; //图像的宽度
bmpHeight = head.biHeight; //图像的高度
biBitCount = head.biBitCount; //每像素的位数
int lineByte=(bmpWidth * biBitCount/8+3)/4*4;//定义变量,计算图像每行像素所占的字节数(必须是4的倍数)
//申请位图数据所需要的空间,读位图数据进内存
pBmpBuf=new char[lineByte * bmpHeight]; //图象数据指针,pBmpBuf指向实际的图象数据
fread(pBmpBuf,1,lineByte * bmpHeight,fp);
fclose(fp);//关闭文件
return 1;//读取文件成功
}
}
boost filesystem
boost gil
不要用windows api
楼主天大的吧 - -