GDI是Graphics Device Interface的缩写,含义是图形设备接口,它的主要任务是负责系统与绘图程序之间的信息交换,处理所有Windows程序的图形输出。
在Windows操作系统下,绝大多数具备图形界面的应用程序都离不开GDI,我们利用GDI所提供的众多函数就可以方便的在屏幕、打印机及其它输出设备上输出图形,文本等操作。GDI的出现使程序员无需要关心硬件设备及设备驱动,就可以将应用程序的输出转化为硬件设备上的输出,实现了程序开发者与硬件设备的隔离,大大方便了开发工作。
GDI+是Windows XP中的一个子系统,它主要负责在显示屏幕和打印设备输出有关信息,它是一组通过C++类实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中GDI进行了优化,并添加了许多新的功能。
作为图形设备接口的GDI+使得应用程序开发人员在输出屏幕和打印机信息的时候无需考虑具体显示设备的细节,他们只需调用GDI+库输出的类的一些方法即可完成图形操作,真正的绘图工作由这些方法交给特定的设备驱动程序来完成,GDI+使得图形硬件和应用程序相互隔离.从而使开发人员编写设备无关的应用程序变得非常容易。
GdiPlus使用方法:
开发工具:VS2008
1.新建对话框应用程序
2.拷贝 GdiPlus_Includes文件夹、Lib文件、gdiplus.dll文件 到应用程序中
3.在StdAfx.h文件中添加如下代码
//GDI+
#define UNICODE
#ifndef ULONG_PTR
#define ULONG_PTR unsigned long*
#endif
//#include "c:\gdi+\includes\gdiplus.h" 请修改为你的头文件路径
//using namespace Gdiplus;
//#pragma comment(lib, "c:\\gdi+\\lib\\gdiplus.lib") 请修改为你的.lib文件路径
#include "../GdiPlus_Includes\\gdiplus.h"
using namespace Gdiplus;
#pragma comment(lib, "../GdiPlus_Lib\\gdiplus.lib")
4.在C**App.cpp文件的InitInstance()函数中
在C**Dlg dlg之前,添加如下代码:
GdiplusStartupInput gdiplusStartupInpu