您的位置:首页 > 其它

GDI+环境配置与使用方法

2010-06-07 11:06 267 查看
简介:本文主要针对VC++.NET程序开发人员,如果使用VC++6.0,那么需要下载微软的GDIPLUS支持包(如果使用VS2003或以上版本则不需要下载GDIPLUS支持包了,因为它本身已包含了这些文件)。在微软官方网站下载时需认证Windows为正版,另外我们可从这个地址下载:http://www.codeguru.com/code/legacy/gdi/GDIPlus.zip

一个完整的GDI+支持包至少包括如下文件: 

(1)头文件:gdiplus.h

  (2)动态链接库的.lib文件:gdiplus.lib

  (3)动态链接库的.dll文件:gdiplus.dll

  少了(1)、(2)程序不能编译,少了(3)程序能以共享DLL的方式编译但是不能运行,运行时找不到.dll文件。

一、问题是什么?

对于刚刚接触GDI+的朋友来说,学习GDI+环境配置与使用方法是必需的,本文档主要介绍这两方面的内容。至于GDI+的最初入门教程可以参考pdf文档《Windows GDI+的研究与应用》,这是介绍GDI+功能与性能特点及其前身GDI的内容文章,建议在阅读本文档前先参阅。

二、解决问题的方法

1、 GDI+环境配置

(1)、在VS2003中建立一个MFC工程项目,项目名称可以为:gdiplusTest

(2)、在文档stdafx.h中加入代码:

//导入gdiplus库文件,一般代码放在代码#pragma once的下一行

#pragma once

#pragma comment(lib,"gdiplus.lib")

//导入gdiplus头文件,一般放在头文件存放处,注意位置要存放正确。

//下面这句代码已存在,无需COPY,这里是为了说明再下面代码的存在位置。

#include <afxcmn.h> //Windows 公共控件的 MFC

#include <gdiplus.h> // 导入gdiplus头文件

using namespace Gdiplus; // 使用Gdiplus命名空间,避免命名歧议

(3)、在文档gdiplusTest.h 即 CApp类头文件定义

ULONG_PTR m_gdiplusToken;

public:
virtual int ExitInstance();//在CApp类重载ExitInstance()函数

(4)、在文档gdiplusTest.cpp即 CApp类源文件中

在函数InitInstance()中添加如下代码:

//源代码中已经存在这句代码,这里是为了说明下面代码的存放位置
CWinApp::InitInstance();
//初始化GDI+对象
Gdiplus::GdiplusStartupInput gdiplusStartupInput;
Gdiplus::GdiplusStartup(&m_gdiplusToken,&gdiplusStartupInput,NULL);

在函数ExitInstance()中添加如下代码:
//关闭与释放GDI+资源
Gdiplus::GdiplusShutdown(m_gdiplusToken);
return CWinApp::ExitInstance();

2、 GDI+初级使用方法(画矩形)

前面的工作都是为了能够用GDI+画图做准备,下面给出一个用GDI+画矩形的简单例子,初步了解如何使用GDI+进行画图。

在gdiplusTestView.cpp文件,即CView类中

在函数OnDraw(CDC* pDC)中加入代码如下:(在CView类其他函数中下面代码一样有效)

//以下两行代码可以用一行代码 Graphics graphics(pDC->m_hDC); 代替
//之所以用下面两行代码是为了更具有通用性,它在CView类所有函数里都能使用
CClientDC dc(this); //获得客户区域dc
Graphics graphics(dc); //GDI+绑定dc,这样就能使用变量graphics画图啦
//GetClientRect(&lpRect); //RECT lpRect;//获得客户区域
Pen pen(Color::Red,1.0f);//设置红色画笔,笔的宽度的1.0
int startX = 0; //矩形左上角顶点X坐标
int startY = 0; //矩形左上角顶点Y坐标
int width = 100; //矩形的宽
int height = 200; //矩形的高
graphics.DrawRectangle(&pen,startX,startY,width,height);//画矩形

三、问题的深入学习

要想进一步学习GDI+技术,这些知识是远远不够的,应该找系统的教程与资料来进一步学习,下面介绍二个很好的学习网站,主要是讲解VC++.NET与GDI+技术结合的入门与提高。

网站一:Windows GDI和GDI+编程实例剖析

http://dev.yesky.com/255/2190255.shtml

网站二:Visual C .NET与 GDI+ 编程基础

http://www.2ed.cn/Article-156-23415.shtml

四、总结问题

学习与总结是个永恒的话题,让我们共同学习,共享经验,共创未来。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: