VS2008中配置GDI+

VS2008中包含GDI+的开发包,配置相对简单。对每个需要使用GDI+的项目,都必须使用同样地方法进行配置。

1、在项目属性中添加GDI+静态链接库

选择【项目】->Example属性】(Example为项目名称),打开项目属性对话框。展开配置属性,选择连接器下面的输入,然后在附加依赖项中添加“gdiplus.lib”,要想在Release模式下程序也能正常编译,只要选择左上角配置下得“Release”选项。

2、添加必要的代码

1)在"stdafx.h"文件中添加代码:(注意一定要写在#include<afxwin.h>// MFC 核心组件和标准组件声明的后面,之后的任一位置都行

#include<gdiplus.h>

using namespace Gdiplus;

2)为CExampleApp类添加两个程序变量:GdiplusStartupInput类型的m_GdiplusStartupInputULONG_PTR类型的m_GdiplusToken

GdiplusStartupInputm_GdiplusStartupInput;

ULONG_PTRm_GdiplusToken;

3)在CExampleApp类的InitInstance函数中添加如下代码:

//GDI+图像库初始化

GdiplusStartup(&m_GdiplusToken,&m_GdiplusStartupInput, NULL);

(4)重写CExampleApp类的ExitInstance函数。

int CImageShowApp::ExitInstance()

{

       // TODO: 在此添加专用代码和/或调用基类

       GdiplusShutdown(m_GdiplusToken);

       return CWinApp::ExitInstance();

}

这样GDI+在VS2008中的配置工作就完成了。


////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

1.新建一个mfc工程

2.在stdafx.h文件中加入以下几行语句:

#include <gdiplus.h> //
#pragma comment(lib, "gdiplus.lib") //在工程属性中添加亦可
using namespace Gdiplus; //使用GDI+的命名空间, 若不用的话每次使用Gdiplus时均加上命名空间亦可

3.修改App类

在App类(以下例子中为CTestApp)中增加成员
protected:
GdiplusStartupInput m_gdiplusStartupInput;
ULONG_PTR m_gdiplusToken;

在BOOL CTestApp::InitInstance()增加以下代码, 必须在dlg.DoModal()前.
GdiplusStartup(&m_gdiplusToken, &m_gdiplusStartupInput, NULL);

重载CTestApp::ExitInstance()
public:
virtual BOOL ExitInstance();

BOOL CTestApp::ExitInstance()
{
GdiplusShutdown(m_gdiplusToken);
return CWinAppEx::ExitInstance(); //使用基类的ExitInstance().
}

4. 现在可以在CTestDlg::OnPaint()中增加以下代码来画图了

CClientDC dc(this);
Graphics graphics(dc);
Image image(L"d:/test.jpg");
Point pos[] =
{
Point(10, 10),
Point(image.GetWidth() + 10, 10),
Point(10, image.GetHeight() + 10)
};
graphics.DrawImage(&image, pos, 3); //在平行四边形区域内显示图像

你可能感兴趣的:(mfc,vs2008,GDI+)