在VC6.0的MFC中,如何在对话框中实现打开图像(BMP),请各位帮帮忙...谢谢!
要求:设置一个按钮(OpenImage)用来导入要打开需要打开的图像的信息,设置一个静态对话框(IDC_FRAME)用来显示图像...本人是VC初学者,研究很久,无法解决...
要求:设置一个按钮(OpenImage)用来导入要打开需要打开的图像的信息,设置一个静态对话框(IDC_FRAME)用来显示图像...本人是VC初学者,研究很久,无法解决,希望各位VC高手,特别是利用VC做图像处理的帮帮忙,我的QQ:351927212,希望得到您们的帮助,谢谢!
展开
4个回答
展开全部
你那个控件应该是静态文本框吧,在我的知识范围内,我无法实现在静态文本框显示图片,如果用位图控件的话,还能弄出一张背景图。
但是,如果像做一个图像浏览器,像打开什么图片就什么图片的话,不建议你用这种方法。
本来MFC对DIB图像支持就不是很足够,你需要找一些别人写好的CDib.h和CDib.cpp文件,才能方便地使用BMP图片。
勿在浮沙筑高台,要先熟悉MFC和在C++处理图片的相关知识之后,才开始写软件。例如openCV就是一个非常好用图像处理方面的开源SDK开发包,如果你熟悉了openCV,对于你上面的问题,只需要添加很少的程序就可以实现了
但是,如果像做一个图像浏览器,像打开什么图片就什么图片的话,不建议你用这种方法。
本来MFC对DIB图像支持就不是很足够,你需要找一些别人写好的CDib.h和CDib.cpp文件,才能方便地使用BMP图片。
勿在浮沙筑高台,要先熟悉MFC和在C++处理图片的相关知识之后,才开始写软件。例如openCV就是一个非常好用图像处理方面的开源SDK开发包,如果你熟悉了openCV,对于你上面的问题,只需要添加很少的程序就可以实现了
展开全部
可以用opencv
按钮的响应函数
src=NULL;
CFileDialog dlg(TRUE, _T("*.bmp"),"",OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY,"image files (*.bmp; *.jpg) |*.bmp;*.jpg|All Files (*.*)|*.*||",NULL);
char title[]= {"Open Image"};
dlg.m_ofn.lpstrTitle= title;
if (dlg.DoModal() == IDOK)
{
filePath= dlg.GetPathName();
//LoadBmpFile(filePath);
src=cvLoadImage(filePath);
DrawPicToHDC(src,IDC_FRAME);
}
按钮的响应函数
src=NULL;
CFileDialog dlg(TRUE, _T("*.bmp"),"",OFN_FILEMUSTEXIST|OFN_PATHMUSTEXIST|OFN_HIDEREADONLY,"image files (*.bmp; *.jpg) |*.bmp;*.jpg|All Files (*.*)|*.*||",NULL);
char title[]= {"Open Image"};
dlg.m_ofn.lpstrTitle= title;
if (dlg.DoModal() == IDOK)
{
filePath= dlg.GetPathName();
//LoadBmpFile(filePath);
src=cvLoadImage(filePath);
DrawPicToHDC(src,IDC_FRAME);
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2011-04-25
展开全部
我的QQ,95101那个,
lpBits=lpBitmap+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
if (lpBackup) delete lpBackup;
lpBackup=new BYTE[nLen];
memcpy(lpBackup,lpBitmap,nLen);
}
lpBits=lpBitmap+sizeof(BITMAPFILEHEADER)+sizeof(BITMAPINFOHEADER);
if (lpBackup) delete lpBackup;
lpBackup=new BYTE[nLen];
memcpy(lpBackup,lpBitmap,nLen);
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
帮你顶一下
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询