其他分享
首页 > 其他分享> > GDI+画透明图层(alpha)的png图片

GDI+画透明图层(alpha)的png图片

作者:互联网

GDI+画透明图层(alpha)的png图片


stdafx加入如下:

#include <comdef.h>//初始化一下com口
#include "GdiPlus.h"
using namespace Gdiplus;
#pragma comment(lib,"gdiplus.lib")

开始初始化:
在app类的声明里(.h)加入:

ULONG_PTR m_gdiplusToken;

InitInstance()里加入://若没有usingnamespace Gdiplus; 就要在前面加Gdiplus::


GdiplusStartupInput gdiplusStartupInput;
GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);

重载ExitInstance,加入GdiplusShutdown(m_gdiplusToken);

int CxxxApp::ExitInstance()
{
	// TODO: 在此添加专用代码和/或调用基类
	GdiplusShutdown(m_gdiplusToken);
	return CWinApp::ExitInstance();
}

显示图片的过程如下

CClientDC *pDC = new CClientDC(GetDlgItem(IDC_STATIC_PIC));
CRect rect;
GetDlgItem(IDC_STATIC_PIC)->GetWindowRect(&rect);
Graphics graphics(pDC->m_hDC); // Create a GDI+ graphics object
Image image(_T("1.png")); // Construct an image
graphics.DrawImage(&image, 0, 0, image.GetWidth(), image.GetHeight());
delete pDC;

这是用GDI+来显示图片。

CClientDC *pDC = new CClientDC(GetDlgItem(IDC_STATIC_PIC));
CRect rect;
GetDlgItem(IDC_STATIC_PIC)->GetWindowRect(&rect);
Graphics graphics(pDC->m_hDC); // Create a GDI+ graphics object
Image *pimage; // Construct an image
ImageFromIDResource(IDB_PNG1,_T("PNG"),pimage);
graphics.DrawImage(pimage, 0, 0,pimage->GetWidth(), pimage->GetHeight());
delete pDC;

标签:image,PIC,透明图,graphics,pimage,GDI,pDC,png
来源: https://blog.csdn.net/aasmfox/article/details/122811651