19,469
社区成员
发帖
与我相关
我的任务
分享
int nMap[500][500]={0,0};
void ReadMap(CString bmpPath)
{
BITMAPFILEHEADER fileheader;
BITMAPINFO info;
FILE *fp;
fopen_s(&fp,bmpPath,"r");
fread(&fileheader,sizeof(BITMAPFILEHEADER),1,fp);
fread(&info.bmiHeader, sizeof(BITMAPINFOHEADER), 1, fp);
width=info.bmiHeader.biWidth;
height=info.bmiHeader.biHeight;
UCHAR *buffer=new UCHAR[info.bmiHeader.biSizeImage];
fseek(fp,fileheader.bfOffBits,0);
fread(buffer,info.bmiHeader.biSizeImage,1,fp);
if(info.bmiHeader.biBitCount==1)
{
int pitch=width+width%2;
for(int i=0;i<height;i++)
{
for(int j=0;j<width;j++)
{
// short int a = (short int)buffer[(i*pitch+j)/8];
if(a != 0)
{
nMap[i][j]=1;
}
}
}
}
delete []buffer;
buffer=NULL;
}