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
四、总结问题
学习与总结是个永恒的话题,让我们共同学习,共享经验,共创未来。
一个完整的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
四、总结问题
学习与总结是个永恒的话题,让我们共同学习,共享经验,共创未来。
相关文章推荐
- VS2008/C++环境配置 使用GDI+
- VC6使用GDI+的配置方法
- 使用GDI+,VS2008/C++环境配置
- 在VC使用GDI+的配置方法
- Mac 下配置环境变量造成命令行命令无法使用的解决方法
- GDI+使用前环境配置
- Android Studio中使用jni进行opencv开发的环境配置方法
- 文件方法Android NDK开发的环境配置和使用
- VC6使用GDI+的配置方法
- 使用ZendStudio和ZendServer搭建PHP开发环境配置方法
- STM32串口通信中使用printf发送数据配置方法 开发环境 Keil
- STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK)
- nginx php-fpm环境中chroot功能的配置使用方法
- 基于Spring Boot不同的环境使用不同的配置方法
- Qt在Linux环境下应用程序字体模糊的解决方法(先改成使用默认字体,然后使用qtconfig配置)
- Hibernate环境配置以及使用方法
- VC环境下(非QT环境)使用Qt的配置方法
- Mac中配置gradle环境及使用android studio打包jar包与arr包的方法
- Ubuntu 配置Java环境变量后 使用Java -version 提示 java已包含在下列软件包中 问题的解决方法
- STM32串口通信中使用printf发送数据配置方法(开发环境 Keil RVMDK)