您的位置:首页 > 其它

Win32 GDI+ 学习笔记(一)之win32显示图片

2016-06-04 16:01 681 查看
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+显示截图:

          


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息