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

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+显示截图:

          

 










猜你喜欢

转载自blog.csdn.net/gyaog/article/details/51583835