您的位置:首页 > 编程语言 > C语言/C++

GDI+ GDIPlus 的配置

2013-12-23 11:41 363 查看
GDI+(GDIPlus)的功能:

(1)    二维矢量图形的绘制.

比如直线,矩形,圆,椭圆,点等等.它和GDI的不同之处在于它能在点定在浮点数之处.GDI中绘制直线:drawline(int a,int b); 而GDI+有很多重载函数.参数类型接受的范围广了.

(2)    象素绘制功能

很方便实现图像的缩放,剪裁,翻转,复制,格式的转换等功能.

(3)    文字编排

强大的字体类(Font)可以轻松设置各种字体.

GDI+包括40多个类,50多个枚举,6个结构体,及一些独立函数.

Graphic类, Pen类Brush类, Image类,Bitmap类, Font类, Rect类,Point类, Size类, Color类, BitmapData类 ,等等.还有一些独立函数,比如:  GdiplusStartup , GdiplusShutdown, 它们的功能是用于GDI+环境的初始化和GDI+资源的释放.

Visual C++ 6 . 0 环境中配制GDI+方法:

(1)   下载GDI+SDK, 从http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip或者从微软网站下载.

(2)   解压GDIPlus.zip,将其中的Includes文件夹和Lib文件夹下的文件分别放入VC98目录下的Includes文件夹和Lib文件夹中.

(3)   在项目属性中添加GDI+静态炼接库. 打开工程选择[project]菜单à[Settings],在下拉列表框中选择Win32Debug,右侧link标签页下的Object/librarymodules输入gdiplus.lib ,单击ok.

(4)  添加必要代码.

1.     打开资源管理器,打开”stafx.h”文件,在其中添加如下代码:

#ifndef ULONG_PTR

#define ULONG_PTR  unsigned long *

#include “Gdiplus.h”

using namespace Gdiplus;

#endif

2.     打开视图类,选择应用程序类CXXXApp(XXX为项目名称),为其添加两个成员变量. 第一个:GdiplusStartupInput类型的
m_GdiplusStartupInput  第二个: ULONG_PTR
类型的 m_GdiplusToken

3.     在CXXXApp类中的InitInstance函数中添加如下代码:

     // 图像库初始化

     GdiplusStartup(&m_GdiplusToken ,&m_GdiplusStartupInput , NULL);

4.     重写CXXXApp类的 ExitInitInstance函数

int CXXXApp::ExitInitInstance()

{

// 关闭GDI+图象库

GdiplusShutdown(m_GdiplusToken);

return CWinApp::ExitInstance();

       }

Visual C++ 2005、2008、2010、2012环境中配制GDI+方法:

如果没有GDI+的开发包先去下载,不过自VS2005后的版本都已经包含了GDI+开发包,应该不用下载。(因为Visual C++2005中已经含有GDI+开发包,因此不用下载GDI+SDK.)

(1)在项目属性中添加静态链接库。打开项目,选择[project]菜单à[xxx属性](xxx是项目名称),打开项目属性对话框,展开左侧的配置属性,选择连接器下的输入,然后在右侧的附加依赖项中添加“
gdiplus.lib ” ,单击 确定。

(2)打开资源管理器,打开”stafx.h”文件,在其中添加如下代码:

      #include <gdiplus.h>

      using namespace Gdiplus ;

(3)打开视图类,选择应用程序类CXXXApp(XXX为项目名称),为其添加两个成员变量. 第一个:GdiplusStartupInput类型的
m_GdiplusStartupInput  第二个: ULONG_PTR
类型的 m_GdiplusToken

(4)在CXXXApp类中的InitInstance函数中添加如下代码:

     // 图像库初始化

     GdiplusStartup(&m_GdiplusToken, &m_GdiplusStartupInput , NULL);

(5)重写CXXXApp类的ExitInitInstance函数

int CXXXApp::ExitInitInstance()

{

// 关闭GDI+图象库

GdiplusShutdown(m_GdiplusToken);

return CWinApp::ExitInstance();

       }
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息