MFC中使用GDI+ 显示图片
- 打开stdafx.h头文件,添加头文件和库。
#pragma comment( lib, "gdiplus.lib" ) // VS2015使用可以去掉
#include "gdiplus.h"
using namespace Gdiplus;
- 在CXXWinApp 内添加成员变量
ULONG_PTR m_gdiplusToken;
- 在CXXWinApp::InitInstance()函数内加载GDI
//加载GDI+
GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
- 记得要在CXXWinApp::ExitInstance( )函数内关闭GDI,可以在类向导中,添加相应的虚函数ExitInstance( )
//关闭GDI+
GdiplusShutdown(m_gdiplusToken);
- 在相应的对话框中添加一个按扭和一个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());
运行如下结果:
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步