Chinaunix首页 | 论坛 | 博客
  • 博客访问: 368061
  • 博文数量: 715
  • 博客积分: 40000
  • 博客等级: 大将
  • 技术积分: 5005
  • 用 户 组: 普通用户
  • 注册时间: 2008-10-13 14:46
文章分类

全部博文(715)

文章存档

2011年(1)

2008年(714)

我的朋友

分类:

2008-10-13 16:40:08

rose8391:很好
(发表于2005-4-25 21:02:00)

kongting1981:楼主,你试过自己的程序没有啊?你的程序保存之后的文件大小为0,而且打不开,你看看是不是有地方错了
(发表于2005-8-17 14:06:00)

鬼龙之舞:保存位图调用gdi+方便多了,还可以保存为JPG,GIF,PNG,TIFF等格式


(发表于2005-8-24 9:35:00)

edove_Sun:楼主程序很好,基本没有错误!
*((char *)&bmfh.bfType) = ''B'';
*(((char *)&bmfh.bfType) + 1) = ''M'';
把 B M 的双引号改成单引号就可以了
(发表于2005-10-8 21:54:00)

t_ch_w:调试是没有错误!!但是要知道这个程序的目的就是将DIB保存到bmp文件中! 而这个程序保存后根本就是空白文件!!!也就是这个程序还没有取到内存中的数据 望各位老兄指点  为什么  会这样  要怎么样才能将自己的数据保存到bmp文件中
(发表于2006-4-3 8:43:00)

best_blue:用以下代码可以实现bmp格式保存

BOOL CBitmapDoc::OnSaveDocument(LPCTSTR lpszPathName) 
{
// TODO: Add your specialized code here and/or call the base class
if (m_pDibData == NULL)
return (FALSE);

CFile cf;

if(!cf.Open(lpszPathName, CFile::modeCreate | CFile::modeWrite))
return (FALSE);

try
{
BITMAPFILEHEADER BFH;
memset(&BFH, 0, sizeof(BITMAPFILEHEADER));
BFH.bfType = 'MB';
BFH.bfSize = sizeof(BITMAPFILEHEADER) + m_DibSize;
BFH.bfOffBits = sizeof(BITMAPFILEHEADER) + 
sizeof(BITMAPINFOHEADER) + m_nColorTableNumber *sizeof(RGBQUAD);

cf.Write(&BFH, sizeof(BITMAPFILEHEADER));
cf.Write(m_pDibData, m_DibSize);
}
catch(CFileException *e)
{
e->Delete();
return(FALSE);
}

return true;
}
(发表于2006-6-8 15:20:00)

xswyzao:没看懂的人请看这一段
void CTestSaveBmpView::OnRButtonDown(UINT nFlags, CPoint point) 
{

CFileDialog dlg(false,NULL,NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,
"位图文件(*.bmp)|*.bmp|All Files(*.*)|*.*||"
   ,NULL);
if (dlg.DoModal()!= IDOK) return;
CString filename = dlg.GetFileName() + ".bmp";
SaveAsBmp(filename);

CView::OnRButtonDown(nFlags, point);
}


意思是在屏幕上单击右键就出来对话框的意思

不是那个上面菜单里的save as

如果想改成菜单里面的,可以自已把上面的代码加到单击消息里,

没看懂的说明vc还在菜鸟级,哈哈

(发表于2008-7-28 23:45:00)

..........................................................................
--------------------next---------------------

阅读(134) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~