GDI+可应用于二维向量图象,栅格图象及排版,是为C/C++程序员而设计的表现为C++类而存在的接口,能用于一切基于Windows的应用中。作为GDI的后继者,GDI+在GDI中增加了新功能,如文本的反锯齿,渐变笔刷,Alpha溶合;也优化了GDI许多已有的功能。此外,GDI+改变了编程模式,使其更灵活及易用。
GDI+并不限于在.Net中存在,实际上它由Windows XP或Windows Server 2003操作系统提供。它被打包在一个名为GdiPlus.dll的文件中。此文件位于C:/Windows/WinSxS下的相应文件夹下。以笔者的XP系统为例,共有2个版本,其相应的文件夹分别是:
x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.0.0_x-ww_8d353f13
x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82
在应用程序中,我们不需指定版本号,系统自动选择最新的版本。先假设我们已经在VC6中编好一个GDI+应用,在degbug版本中单击菜单Build->Start Debug->Go启动调试,再终止应用,在VC6的Output区域中可以看到以下信息:
Loaded ''C:/WINDOWS/WinSxS/x86_Microsoft.Windows.GdiPlus_6595b64144ccf1df_1.0.2600.2180_x-ww_522f9f82/GdiPlus.dll''
说明系统自动选择了最新的版本。
如同Windows是用C语言编写,GdiPlus.dll是以C函数实现的,并没有封装为C++类,从而给非C程序员带来不便。又如同MFC所为,微软再次将这些C函数打包为C++类的形式,向C++程序员提供了以GdiPlus.h领头的30个头文件及一个GdiPlus.lib。因此,如果您是C程序员,则只需GdiPlus.dll就行了;C++程序员则还需要找到GdiPlus.h等头文件及GdiPlus.lib文件。
Windows XP或Windows Server 2003应使用系统自带的GdiPlus.dll,以免与系统服务冲突。而对于版本低于Windows XP的Windows,如Windows NT 4.0 SP6, Windows 2000, Windows98及Windows Me,则需要此文件。可到微软的官方地址去下载分发包gdiplus_dnld.exe文件