MFC中SDI中用GDI+显示图片

来源:互联网 发布:ubuntu输入法安装fcitx 编辑:程序博客网 时间:2024/05/17 23:50

 

利用Gdi+第一步在stdafx.h引入gdi+头文件

#include <GDIPlus.h>

链接时需要的静态库

#pragma comment(lib,"gdiplus.lib")

或者在项目属性中链接导入文件处添加:gdiplus.lib

使用gdi+命名空间:

using namespace Gdiplus;

 

接下来对gdi+环境初始化,可以在APP类中处理;

声明ULONG_PTR和Gdiplusstartupinput变量,用于在InitInstance中调用GdiplusStartup(ULONG_PTR*,GdiplusStartupInput*,GdiplusStartupOutput*)初始化;

对gdi+环境的清理工作可以在App类的析构函数中调用

GdiplusShutdown(ULONG_PTR);//ULONG_PTR变量

 

视图类定义CString变量m_fileName用于保存所选图片路径;

在视图类中重定义ON_COMMAND(ID_FILE_OPEN, &你的视图类名称::OnFileOpen);

CFileDialog fileDia(TRUE);
 if (fileDia.DoModal()==IDOK)
 {
  m_fileName=fileDia.GetPathName();
  Invalidate();//失效重画,更好的方法按区域失效;
 }

在视图类的ondraw(CDC* pDC)中加入如下代码:

 Graphics graphics( pDC->m_hDC);
 Image image(m_fileName.GetBuffer(m_fileName.GetLength()));//加载图像
 graphics.DrawImage(&image, 10,10); //在指定位置绘制图像

 

初次学习记录一下.

原创粉丝点击