GDI+
GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离.从而使开发人员编写设备无关的应用程序变得非常容易。
下面我们在vc 6.0中配置GDI+
1、首先我们需要下载 最新版的gdiplus的源文件。这里提供大家一个下载地址:http://download.csdn.net/detail/toss156/4072680
2、解压开以后我们可以看到 有 2个文件夹 Includes,Lib 和一个 动态链接库文件。
3、打开vc 6.0的安装目录,找到 Include 和lib 。讲解压出来的 Includes 和Lib 文件夹中的文件,拷贝到对应的文件夹中去。
4、打开需要添加 gdi+的项目,在项目设置--------连接------对象/链接库 这一项中加入: gdiplus.lib
在MFC中使用GDI+
然后在StdAfx.h中加入如下的语句:
#define ULONG_PTR ULONG
#include <gdiplus.h>
using namespace Gdiplus;
#pragma comment(lib, "gdiplus.lib")
然后在InitInstance()中,在调用m_pMainWnd->ShowWindow()及m_pMainWnd->UpdateWindow()之前调用GdiplusStartup():
GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);
// The one and only window has been initialized, so show and update it.
m_pMainWnd->ShowWindow(SW_SHOW);
m_pMainWnd->UpdateWindow();
return TRUE;
注意,如果GdiplusStartup()放在ShowWindow()及UpdateWindow()之后,则当窗口第一次显示时,由于GDI+还未启动,GDI+所画的图形不会显示出来,直到第二个WM_PAINT的消息传到。
而在ExitInstance()中,如下编写代码:
GdiplusShutdown(gdiplusToken);
return CWinApp::ExitInstance();
现在,GDI+已经准备完毕,可以使用了。