您的位置:首页 > 其它

CPicture类的使用方法

2015-09-15 14:13 288 查看
一个使用该类来实现的简单的图片浏览程序(MFC程序)我们需要添加和修改的地方加起来不超过5行,但是功能相对(5行代码)来说已经是"太强大"了,它可以浏览包括BMP,JPEG,GIF,ICON,TIF等格式在内的好多种图像了。

1) 生成一个多文档的MFC应用程序,选择视图的基类为CScrollView. 其它使用默认值

2) 将CPicture类有头文件及源文件加入至工程中.

3) 在文档类的头文件前包含Picture.h头文件

4) 为文档类增加一个公有变量pic,类型CPicture.

5) 重载文档类的OnOpenDocument虚函数如下:

BOOL CBrowserDoc::OnOpenDocument(LPCTSTR lpszPathName)

{

 return pic.LoadPictureFromFile(lpszPathName);

}

6) 在视图类的OnInitUpdaye函数中修改SetScrollSizes的调用处代码:

void CBrewserView::OnInitialUpdate()

{

 CScrollView::OnInitialUpdate();

 SetScrollSizes(MM_TEXT, GetDocument()->pic.GetSize());

}

7) 在视图类的OnDraw中增加绘图代码:

void CBrewserView::OnDraw(CDC* pDC)

{

 CBrewserDoc* pDoc = GetDocument();

 ASSERT_VALID(pDoc);

 // TODO: add draw code for native data here

 CSize sz = pDoc->pic.GetSize();

 pDoc->pic.Draw(pDC, 0,0,sz.cx,sz.cy,0,0,sz.cx,sz.cy);

}

8) 好了,一个简单的图像浏览器就写好了.编译一下你的程序,然后试着打开一些图像文件.怎么样,呵呵,当然它不支持GIF动画.GIF动画文件只能显示一帧.但是对这么小的一个类来说. 已经难能可贵了.是吧.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: