数字图像处理MFC程序设计之图像的打开显示

来源:互联网 发布:一对一讲课软件下载 编辑:程序博客网 时间:2024/05/12 02:20

        最近想把以前做过的数字图像处理实习写成一个教程,用的是CBmpFile类,武汉大学遥感信息工程学院的学生也许都会用这个类来实现图像处理,废话就不多说了,直接开始吧。。。

        附上BmpFile文件下载链接:http://download.csdn.net/detail/whustyle/8245911


一、图像的显示

       VC6.0工程向导创建MFC多文档应用程序,注意选择CScrollView视图,完成后,将bmpfile头文件放入工程文件夹下,在Doc.h中添加头文件包含,以及成员变量:



然后类向导添加OnOpenDocument函数,注意添加在Doc里面,如下:



接下来实现OnOpenDocument:

BOOL CImageProcessDoc::OnOpenDocument(LPCTSTR lpszPathName) {if (!CDocument::OnOpenDocument(lpszPathName))return FALSE;// TODO: Add your specialized creation code herereturn m_bmpFile.Load4File(lpszPathName);}
  然后在View.cpp中实现如下函数:

void CImageProcessView::OnInitialUpdate(){CScrollView::OnInitialUpdate();CImageProcessDoc* pDoc = GetDocument();CSize sizeTotal;sizeTotal.cx = pDoc->m_bmpFile.m_Cols;sizeTotal.cy = pDoc->m_bmpFile.m_Rows;    SetScrollSizes(MM_TEXT,sizeTotal);}

最后OnDraw函数实现绘图:

void CImageProcessView::OnDraw(CDC* pDC){CImageProcessDoc* pDoc = GetDocument();ASSERT_VALID(pDoc);pDoc->m_bmpFile.Draw2DC(pDC->m_hDC,0,0);}

运行程序,点击菜单,打开,选择Lena.bmp,如下:



0 0
原创粉丝点击