VS2010中GDI+配置

在 VS2010 单文档工程中配置 GDI+的方法 
①新建一个单文档工程,为相关的 App 类添加两个成员变量: 
GdiplusStartupInput    m_Gdistart; 
ULONG_PTR    m_GdiplusToken; 
 
②在其类视图中,在相关的类 App 中的函数 InitInstance()添加: 
GdiplusStartup(&m_GdiplusToken,& m_Gdistart,NULL); 
 
③在相关的类 App 中的函数 ExitInstance()添加: 
GdiplusShutdown(m_GdiplusToken); 
 
④在“项目”->“属性”->“配置属性” ->“配置:所有配置”->“链接器” 
->“输入”->“附加依赖项”中添加: gdiplus.lib 
 
⑤在需要调用 GDI+中的函数的页面上方 或者 在头文件 stdafx.h 中添加: 
#include "gdiplus.h" 

using namespace Gdiplus; 

VS2010中GDI+配置_第1张图片

至此便完成了 GDI+的配置. 
 
五  在 VS2010 单文档工程中利用 GDI+显示图像的方法 

在相关的 View 类中的函数 OnDraw(CDC* pDC)中,添加: 


Image image(L"lena.jpg"); //载入指定路径的图像文件 
//jpg 或 bmp 格式的都可以 路径前面的 L 不能少 
CRect rect; 
GetClientRect(&rect); //获取客户区域的信息 
Graphics graph(pDC->GetSafeHdc());//pDC 就是函数 OnDraw()中的参数 
graph.DrawImage(&image,0,0,rect.Width(),rect.Height()); //在客户区域中绘制图像 
// 函数 DrawImage()的第 1 个参数为存放图像数据的内存地址  
// 第 2 个参数和第 3 个参数是绘制的起点坐标 
// 第 4 个参数和第 5 个参数是指定的宽度和高度 


编译运行即可.如下图所示 

VS2010中GDI+配置_第2张图片


在 VS2010 基本对话框工程中的配置 GDI+的方法 
①新建一个基本对话框工程,声明两个全局变量: 
GdiplusStartupInput    m_Gdistart; 
ULONG_PTR    m_GdiplusToken; 
 
②在其初始化函数 OnInitDialog()中添加: 
GdiplusStartup(&m_GdiplusToken,& m_Gdistart,NULL); 
 
③添加消息 WM_DESTROY 的响应函数,在其中添加: 
GdiplusShutdown(m_GdiplusToken); 
 
④在“项目”->“属性”->“配置:所有配置”->“配置属性”->“链接器” 
->“输入”->“附加依赖项”中添加: gdiplus.lib 
 
⑤在需要调用 GDI+中的函数的页面上方 或者 在头文件 stdafx.h 中添加: 
#include "gdiplus.h" 
using namespace Gdiplus; 
至此便完成了 GDI+的配置. 
 
七 在 VS2010 基本对话框的图像控件中显示图像 
在对话框中添加一个图像控件,其 ID 设置为 IDC_IMAGE.添加一个按钮控件,添加该按钮控件的消息响
应函数: 
 

Image image(L"lena.jpg"); //载入指定路径的图像文件 
//jpg 或 bmp 格式的都可以 路径前面的 L 不能少 
CWnd* pwnd=GetDlgItem(IDC_PIC);//IDC_PIC 为图像控件的 ID 
CDC* dc=pwnd->GetDC(); //获取图像控件的设备上下文 
CRect rect; 
pwnd->GetClientRect(&rect); //获取客户区域的信息 
Graphics graph(dc->GetSafeHdc()); 
graph.DrawImage(&image,0,0,rect.Width(),rect.Height()); //在指定图像控件的区域中绘制图像 
// 函数 DrawImage()的第 1 个参数为存放图像数据的内存地址  
// 第 2 个参数和第 3 个参数是绘制的起点坐标 
// 第 4 个参数和第 5 个参数是指定的宽度和高度 
ReleaseDC(dc); //释放资源 
 
编译运行即可.如下图所示: 

VS2010中GDI+配置_第3张图片

你可能感兴趣的:(image,null,Graph,文档,2010,GDI+)