vc++数字图像处理 MFC图像显示具体步骤Word文档下载推荐.docx
《vc++数字图像处理 MFC图像显示具体步骤Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vc++数字图像处理 MFC图像显示具体步骤Word文档下载推荐.docx(6页珍藏版)》请在冰豆网上搜索。
)编译一下刚才建立的项目。
即可看到一个如下图1.3的windows风格窗口。
图1.3
2、添加CDIB类
步骤一:
将dib.cpp和dib.h文件(已发给大家)拷贝到工程目录下。
打开工程空间(双击刚才建立的目录下的test.dsw)。
单击在编译窗口中的ProjectAddToProjectFiles,在弹出的对话框中选择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函数,进入其函数体。
添加如下红色字体代码:
voidCTestView:
:
OnOpenIamge()
{
//TODO:
Addyourcommandhandlercodehere
staticcharszFilter[]="
BMP文件(*.bmp)|*.bmp||"
;
//定义过滤文件的类型
CFileDialogdlg(TRUE,"
bmp"
NULL,
OFN_HIDEREADONLY|OFN_OVERWRITEPROMPT,szFilter);
//定义文件对话框对象
CStringfilename;
intret=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函数,进入其函数体。
OnDraw(CDC*pDC)
CTestDoc*pDoc=GetDocument();
ASSERT_VALID(pDoc);
adddrawcodefornativedatahere
if(m_dib.m_bLoaded==true)//判断是否加载图像
{
//获取图像宽和高
intnw=m_dib.GetDIBWidth();
intnh=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