急保存bmp图片,如何保存不了呢?老跳出来“对*bmp的存取被拒绝。”
急急急:保存bmp图片,怎么保存不了呢?老跳出来“对***.bmp的存取被拒绝。”
是哪里出了问题呢,大家帮忙看一下
------解决方案--------------------
“对***.bmp的存取被拒绝。”文件在使用!
------解决方案--------------------
|CFile::shareDenyNone
去了吧
是哪里出了问题呢,大家帮忙看一下
- C/C++ code
void CColorToGrayDoc::OnFileSave() { // TODO: Add your command handler code here CFile file; CString filename; CFileDialog dlg(FALSE,"BMP",NULL,OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,"BMP Files (*.bmp)|*.bmp|All Files (*.*)|*.*||"); if(dlg.DoModal() == IDOK) { filename=dlg.GetPathName(); if(file.Open(filename,CFile::modeCreate|CFile::shareDenyNone,NULL)==0) { //建立文件失败 AfxMessageBox("无法保存文件!",MB_OK,0); return; } //文件头 BITMAPFILEHEADER bf; //填写文件数据的内容 bf.bfType=0X4d42;//数据类型为'BM' bf.bfReserved1 =0; bf.bfReserved2 =0;//保留字'0' bf.bfOffBits =(DWORD)sizeof(BITMAPFILEHEADER)+(DWORD)sizeof(BITMAPINFOHEADER)+(DWORD)numQuad*sizeof(RGBQUAD); bf.bfSize =bf.bfOffBits +pbi->bmiHeader.biSizeImage; //将文件头、位图信息和像素组写入磁盘文件 file.Write (&bf,sizeof(BITMAPFILEHEADER)); file.Write (&pbi,sizeof(BITMAPINFOHEADER)+numQuad*sizeof(RGBQUAD)); file.Write (&pbi->bmiHeader,pbi->bmiHeader.biSizeImage); //关闭文件 file.Close (); }
------解决方案--------------------
“对***.bmp的存取被拒绝。”文件在使用!
------解决方案--------------------
|CFile::shareDenyNone
去了吧