MFC中使用GDI+ 显示图片

  1. 打开stdafx.h头文件,添加头文件和库。
#pragma comment( lib, "gdiplus.lib" )		// VS2015使用可以去掉
#include "gdiplus.h"
using namespace Gdiplus;
  1. 在CXXWinApp 内添加成员变量
ULONG_PTR m_gdiplusToken;
  1. 在CXXWinApp::InitInstance()函数内加载GDI
  //加载GDI+
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
  1. 记得要在CXXWinApp::ExitInstance( )函数内关闭GDI,可以在类向导中,添加相应的虚函数ExitInstance( )
//关闭GDI+
GdiplusShutdown(m_gdiplusToken);
  1. 在相应的对话框中添加一个按扭和一个picture control 控件,在按扭的响应函数中加入如下代码
// 用此句,得到图片控件的CWnd,图片将被绘制在控件上,IDC_PIC_VIEW为picture 
CWnd* pic = GetDlgItem(IDC_STATIC);    
control的控件ID
Graphics graphics(pic->GetDC()->m_hDC);
Image  image( L"D:\\Koala.jpg" );          //加载图片
CRect rect;
GetDlgItem(IDC_STATIC)->GetClientRect(&rect);
graphics.DrawImage(&image, 0, 0, rect.Width(), rect.Height());

运行如下结果:
在这里插入图片描述

posted @ 2019-12-11 21:40  老耗子  阅读(536)  评论(0编辑  收藏  举报