GDI+绘制PNG

头文件中添加包含

#include <gdiplus.h>
using namespace  Gdiplus;
#pragma comment(lib, "gdiplus.lib")

添加声明

GdiplusStartupInput gdiplusStartupInput;
ULONG_PTR gdiplusToken;

源文件中,构造函数添加GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);,析构函数添加GdiplusShutdown(gdiplusToken);

//画到主窗体上
CClientDC *pDC = new CClientDC(GetDlgItem(IDD_MFCAPPLICATION_DIALOG));
Graphics myGraphics(pDC->m_hDC);
Image png(L"C:\\Users\\LF\\Desktop\\3.png");
CRect rect;
this->GetWindowRect(&rect);

//画到按钮上,还有问题
//CClientDC *pDC = new CClientDC(GetDlgItem(IDC_BUTTON1));
//Graphics myGraphics(pDC->m_hDC);
//Image png(L"C:\\Users\\LF\\Desktop\\3.png");
//CRect rect;
//this->GetDlgItem(IDC_BUTTON1)->GetClientRect(&rect);

myGraphics.DrawImage(&png, rect.left, rect.top, png.GetWidth(), png.GetHeight());
原文地址:https://www.cnblogs.com/horizonhz/p/15766743.html