1、使用环境:
VS2013 + win7 32位
2、GDI+使用:
1、打开Vs2013,在里面创建一个简单的Win32 程序:(打开Vs2013->"文件(F)"->"新建(N)"->"项目(P)"->"Visual C++"->"Win32”->"Win32 项目"->名称填写"Demo",点击确定->"下一步"- “完成”)
2、在工程里面使用GDI+显示一张图片:
1、在工程添加可以使用下面两种方法添加gdiplus.lib:
第一种是直接在头文件中添加下列语句: #pragma comment( lib, "gdiplus.lib" )
第二种方法是:在工程里面选择"项目->属性"菜单命令,在弹出的对话框中选中左侧的"链接器->输入"选项,在右侧的"附加依赖项"框中键入gdiplus.lib。
2、添加头文件#include <gdiplus.h>,和using namespace Gdiplus; 命名空间,
添加
ULONG_PTR m_gdiplusToken;作为全局变量声明;
3、在主函数开头添加GDI+的初始化语句:
// 初始化GDI+
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken, &gdiplusStartupInput, NULL);
4、在WM_PAINT添加显示图片代码:
case WM_PAINT:
{
int width, height;
hdc = BeginPaint(hWnd, &ps);
// TODO: 在此添加任意绘图代码...
//加载图像
Image image(L"D://1.png");
if (image.GetLastStatus() != Status::Ok){
MessageBox(hWnd, L"加载图片失败!", L"提示", MB_OK);
return -1;
}
//取得宽度和高度
width = image.GetWidth();
height = image.GetHeight();
//绘图
Graphics graphics(hdc);
graphics.DrawImage(&image, 0, 0, width, height);
EndPaint(hWnd, &ps);
break;
}
5、在主函数退出前使用GDI+下面语句释放相关GDI+资源:
Gdiplus::GdiplusShutdown(m_gdiplusToken);
6、编译出错,请参考http://www.vcerror.com/?p=2008文章
3、GDI+显示截图: