在 mfc中会经常遇到处理图像 图片 控件添加透明背景图片等,这时候就会用到GDI 或者GDI+ 。由于 客户要求,本人也是被迫头一次用mfc项目,以前都是用vc++做些小的工具及activex ,碰到很多头疼的问题。在这做一个整理,梳理下知识,要是能帮到别人那自然更好。
一、、在vs中 使用gdi+ 简单的对话框程序为例
1、创建一简单对话框
2、在StdAfx.h头文件添加gdi+头文件及库文件 代码如下
#include <comdef.h>//初始化一下com口 #ifndef ULONG_PTR #define ULONG_PTR unsigned long* #include "GdiPlus.h" using namespace Gdiplus; #endif #pragma comment(lib,"gdiplus.lib")
3、程序启动 初始化 gdi+ 对话框就是在InitInstance函数中添加如下代码
//gdi+用到的两个变量 装载gdi+ GdiplusStartupInput m_gdiplusStartupInput; ULONG_PTR m_pGdiToken; GdiplusStartup(&m_pGdiToken,&m_gdiplusStartupInput,NULL);
4、在 程序结束 或者不需要使用的时候记得释放
GdiplusShutdown(m_pGdiToken);
5、这样就可以再你想要使用的地方正常使用了 (加载png图片)
void CTestDlg::OnButton1() { pDC =GetDC(); Graphics graphics( pDC->m_hDC); Image image(L"walkman.png", FALSE); graphics.DrawImage(&image, 10,10); }
原文地址:http://blog.csdn.net/work888study/article/details/39522221