《gdi+编程指南》word版

《gdi+编程指南》word版

ID:22684533

大小:7.31 MB

页数:216页

时间:2018-10-30

《gdi+编程指南》word版_第1页
《gdi+编程指南》word版_第2页
《gdi+编程指南》word版_第3页
《gdi+编程指南》word版_第4页
《gdi+编程指南》word版_第5页
资源描述:

《《gdi+编程指南》word版》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第6章GDI+//陈宝楷_Saturday,September15,2007GDI+(GraphicsDeviceInterfacePlus图形设备接口加)是WindowsXP和WindowsServer2003操作系统的子系统,也是.NET框架的重要组成部分,负责在屏幕和打印机上绘制图形图像和显示信息。顾名思义,GDI+是Windows早期版本所提供的图形设备接口GDI的后续版本。GDI+是一种应用程序编程接口(API),通过一套部署为托管代码的类来展现。这套类被称为GDI+的“托管类接口”。GDI+最早是于2001年随WindowsXP一起推出

2、的一种API,后来又被包装进.NET框架的托管类库之中,成为.NET中窗体绘图的主要工具。GDI+不但在功能上比GDI要强大很多,而且在代码编写方面也更简单,因此会很快成为Windows图形图像程序开发的首选。本章将介绍GDI+的特点和新增功能,以及GDI+API的具体使用方法,包括二维矢量图形的绘制、图像处理的应用、以及文字的显示。6.1概述GDI+与GDI一样,都具有设备无关性。应用程序的程序员可利用GDI+这样的图形设备接口在屏幕或打印机上显示信息,而不需要考虑特定显示设备的具体情况。应用程序的程序员调用GDI+类提供的方法,而这些方法又反过

3、来相应地调用特定的设备驱动程序。GDI+将应用程序与图形硬件隔离,而正是这种隔离允许开发人员创建设备无关的应用程序。设备驱动程序计算机硬件GDI+引擎GDI二维矢量图形图像文字.NET框架Win32/64(C++)GDI+的体系结构本节首先介绍GDI+的几个主要新增的特性及其功能,然后说明它给Windows图形图像程序的开发模式带来的变化,最后给出一个代码实例,介绍如何在VC++中使用GDI+进行程序开发。1.GDI+的功能GDI+主要提供了以下三种功能:1)二维矢量图形矢量图形包括坐标系统中的系列点指定的绘图基元(如直线、曲线和图形)。例如,直线

4、可通过它的两个端点来指定,而矩形可通过确定其左上角位置的点并给出其宽度和高度的一对数字来指定。简单路径可由通过直线连接的点的数组来指定。贝塞尔样条是由四个控制点指定的复杂曲线。GDI+提供了存储基元自身相关信息的类(结构)、存储基元绘制方式相关信息的类,以及实际进行绘制的类。例如,Rectangle结构存储矩形的位置和尺寸;Pen类存储有关线条颜色、线条粗细和线型的信息;而Graphics类具有用于绘制直线、矩形、路径和其它图形的方法(类似于GDI中的CDC类)。还有几种Brush类,它们存储有关如何使用颜色或图案来填充封闭图形和路径的信息。用户可

5、以在图元文件中记录矢量图像(图形命令的序列)。GDI+提供了Metafile类,可用于记录、显示和保存图元文件。MetafileHeader和MetaHeader类允许您检查图元文件头中存储的数据。2)图像处理某些种类的图片很难或者根本无法用矢量图形技术来显示。例如,工具栏按钮上的图片和显示为图标的图片就难以指定为直线和曲线的集合。拥挤的棒球运动场的高分辨率数字照片会更难以使用矢量技术来制作。这种类型的图像可存储为位图,即代表屏幕上单个点颜色的数字数组。GDI+提供了Image、Bitmap和Metafile类,可用于显示、操作和保存位图。它们支持

6、众多的图像文件格式,还可以进行多种图像处理的操作。3)文字显示版式就是使用各种字体、字号和样式来显示文本。GDI+为这种复杂任务提供了大量的支持。GDI+中的新功能之一是子像素消除锯齿,它可以使文本在LCD屏幕上呈现时显得比较平滑。4)功能汇总GDI+的C++封装包含54个类、12个函数、6类(226个)图像常量、55种枚举和19种结构。GDI+的托管类接口则包含大约60个类、50个枚举和8个结构。这两种封装中的Graphics类都是GDI+的核心功能,它是实际绘制直线、曲线、图形、图像和文本的类。通过这些类和接口可以实现:l使用笔绘制线条和形状l

7、使用刷填充形状l使用图像、位图和图元文件lα混合线条和填充l字体和文本l构造并绘制曲线l用颜色渐变的梯度刷填充形状l构造并绘制轨迹l变换l图形容器l区域l重新着色l读取元数据等非常丰富强大的功能。2.GDI+新增特性1)渐变画刷渐变画刷(gradientbrush梯度刷)通过提供用于填充图形、路径和区域的线性渐变画笔和路径渐变画笔,GDI+扩展了GDI的功能。渐变画笔还可用于绘制直线、曲线和路径。线性渐变画笔可用于使用颜色来填充图形,画笔在图形中移动时,颜色会逐渐改变。例如,假定通过指定图形左边为蓝色、右边为绿色,创建了一个水平渐变画笔。当用水平渐

8、变画笔填充该图形时,随着画笔从图形的左边移至右边,颜色就会由蓝色逐渐变为绿色。用类似方法定义的垂直渐变画笔填充的图形,颜色

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。