求教:如何写入大型BMP文件,急,送高分
我这个函数在写入大型BMP文件(38M)时出错,大型文件该如何处理呢?请高手不吝赐教,高分以报
BOOL CDIB::SaveBMP(CString& csFileName)
{
BITMAPFILEHEADER bFile;
CFile file;
if(!file.Open(csFileName, CFile::modeCreate | CFile::modeWrite | CFile::typeBinary))
{
return FALSE;
}
::ZeroMemory(&bFile,sizeof(bFile));
memcpy((void *)&bFile.bfType,"BM",2);
bFile.bfSize = GetDIBSize() + sizeof(bFile);
bFile.bfOffBits = sizeof(BITMAPINFOHEADER) + GetPaletteSize()*sizeof(RGBQUAD) + sizeof(BITMAPFILEHEADER);
file.Write(&bFile,sizeof(bFile));
file.Write(m_pVoid,GetDIBSize());
file.Close();
return TRUE;
}