vc++数字图像处理_MFC__图像显示具体步骤错误!文档中没有指定样式的文字。
SUBJECT \* MERGEFORMAT
数字图像处理实验指导书
vc++数字图像处理
MFC 图像显示具体步骤
1、建立当文档工程
步骤一:建立工程
进入vc集成开发环境,单击File菜单下的new,出现一个对话框,在对话框中选择Project项目,选中MFC AppWinzid (exe),并填写好项目名称,存储路径,点击OK.进入下一步,在出现的页面中选择当文档模式(Single document),单击完成(Finish),即可。
...
错误!文档中没有指定样式的文字。
SUBJECT \* MERGEFORMAT
数字图像处理实验指导书
vc++数字图像处理
MFC 图像显示具体步骤
1、建立当文档工程
步骤一:建立工程
进入vc集成开发环境,单击File菜单下的new,出现一个对话框,在对话框中选择Project项目,选中MFC AppWinzid (exe),并填写好项目名称,存储路径,点击OK.进入下一步,在出现的页面中选择当文档模式(Single document),单击完成(Finish),即可。
步骤二:编译工程
单击Build菜单下的Execute test.exe(或单击工具栏中的 ! )编译一下刚才建立的项目。即可看到一个如下图1.3的windows 风格窗口。
图1.3
2、添加CDIB类
步骤一:将dib.cpp和dib.h文件(已发给大家)拷贝到工程目录下。
步骤二:打开工程空间(双击刚才建立的目录下的test.dsw) 。单击在编译窗口中的Project(Add To Project(Files,在弹出的对话框中选择dib.cpp和dib.h。单击确定。
步骤三:在类视图中查看是否有CDIB类(如下图1.4),如果没有请重复步骤一。
图1.4
3、建立菜单项
步骤一、点击ResouceView。双击资源中的MEUM->IDC_MAINFRAME。在编辑框中将看到主框架的菜单资源(如图.5).
如图1.5
步骤二、在菜单资源中,添加菜单栏和菜单项。双击其中的一个空白菜单栏,即进入其熟悉框,可添加或修改其名称,这里将其命名为(图像操作),如图1.6.
图1.6
步骤三、在“图像操作栏”中添加菜单项――“打开图像”。具体步骤见图1.7。
步骤四、编译(单击!),将出现如图1.8的界面,如果没有出现菜单栏和菜单项,请重复到步骤一。
图1.8
4、添加CTestView的公共成员函数m_dib
按照如图1.9中的提示操作,添加CTestView的公共成员函数m_dib.
图1.9
5、添加响应函数
步骤一、右击编辑框中的任意位置,在弹出的提示菜单中,选择ClassWizard,在弹出的类向导对话框中,按照如图1.10的提示进行选择和操作。
图1.10
步骤二、查看类视图中的CTestView类中是否有OnOpenImage函数,正确的如图1.11,单击该函数即进入该函数体。
图1.11
6、实现响应函数的功能
在ClassView中CTestView类中的OnOpenImage函数,进入其函数体。添加如下红色字体代码:
void CTestView::OnOpenIamge()
{
// TODO: Add your command handler code here
static char szFilter[]="BMP文件(*.bmp)|*.bmp||"; //定义过滤文件的类型
CFileDialog dlg(TRUE,"bmp",NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);//定义文件对话框对象
CString filename;
int ret=dlg.DoModal(); //运行打开文件对方框
if(ret==IDOK)
{
filename=dlg.GetFileName(); //获取所选择图像的路径
m_dib.LoadFromFile(filename); //加载图像
if(!m_dib.m_bLoaded) //判断是否加载图像成功
{
AfxMessageBox("图像打不开");
return;
}
}
Invalidate(1);
//刷新屏幕
}
7、添加显示代码
在ClassView中CTestView类中的OnDraw函数,进入其函数体。添加如下红色字体代码:
void CTestView::OnDraw(CDC* pDC)
{
CTestDoc* pDoc = GetDocument();
ASSERT_VALID(pDoc);
// TODO: add draw code for native data here
if(m_dib.m_bLoaded==true) //判断是否加载图像
{
//获取图像宽和高
int nw=m_dib.GetDIBWidth();
int nh=m_dib.GetDIBHeight();
// 显示图像(具体的参数见CDIB类的该函数说明)
m_dib.ShowDIB(pDC,10,10,nw,nh,m_dib.m_pDIBData,m_dib.m_pBMI);
m_dib.ShowDIB(pDC,400,10,nw,nh,m_dib.m_pDumpDIBData,m_dib.m_pBMI);
}
}
8、编译运行
点击(!)编译运行刚才的代码,如果没有出错则可单击“图像操作”――》“打开图像”,选择图像打开,显示(结果如图1.12),有错则对图从第一部分重新新一步一步调试。
图1.1
2
本文档为【vc++数字图像处理_MFC__图像显示具体步骤】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。