return FALSE;
}
//设置BITMAPFILEHEADER参数
BITMAPFILEHEADER fileHead;
fileHead.bfType = 0x4D42;
fileHead.bfSize = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER) + lineByte * biHeight;
fileHead.bfReserved1 = 0;
fileHead.bfReserved2 = 0;
fileHead.bfOffBits = sizeof(BITMAPFILEHEADER) + sizeof(BITMAPINFOHEADER);
fwrite(&fileHead,sizeof(BITMAPFILEHEADER),1,fp);
//设置BITMAPINFOHEADER参数
BITMAPINFOHEADER infoHead;
infoHead.biSize = 40;
infoHead.biWidth = biWidth;
infoHead.biHeight = biHeight;
infoHead.biPlanes = 1;
infoHead.biBitCount = biBitCount;
infoHead.biCompression = BI_RGB;
infoHead.biSizeImage = lineByte * biHeight;
infoHead.biXPelsPerMeter = 0;
infoHead.biYPelsPerMeter = 0;
infoHead.biClrUsed = 0;
infoHead.biClrImportant = 0;
//写入
fwrite(&infoHead,sizeof(BITMAPINFOHEADER),1,fp);
fwrite(pBmpBuf,sizeof(char),lineByte * biHeight,fp);
fclose(fp); //关闭文件
return TRUE;
}
/**
* 函数名: work
* 功 能: 处理位图信息,并将位图数据保存到ImageData文件中
*/
void work()
{
char readFileName[] = "nv.BMP"; //定义要读入的文件名
if(FALSE == readBmp(readFileName))
cout<<"readfile error!"<
//输出图像的信息
cout<<"Width = "<
if(!outfile)
{
cout<<"open error"<
return ;
}
int count = 0;
//图像数据信息是从左下角按行开始存储的
for(int i = 0; i < biHeight; i++ )
{
for(int j = 0; j < biWidth; j++ )
{
for(int k = 0; k < 3; k++ )
{
int temp = *(pBmpBuf + i * lineByte + j + k);
count++;
outfile<
if(count % 8 == 0)
{
outfile<
}
}
}
}
cout<<"总的像素数:"<
char writeBmpName[] = "nvcpy.BMP";
saveBmp(writeBmpName);
delete []pBmpBuf; //释放内存
}
int main()
{
work();
return 0;
}