- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
GDI 概述及功能用途
GDI+概述及功能用途
1 概述
2 .NET Framwork 2.0图形设备接口比较
3 图形描述对象(Grphics)
4 画笔(Pen),画刷(Brush)及文本(Font)
5 OnPaint绘图
6 GDI+坐标系统
7双缓存及无抖动绘图
8 GDI+和windows form控件的结合
1 概述
GDI+ 由 .NET 基类集组成,这些基类可用于在屏幕上完成定制绘图,能把合适的指令发送到图形设备的驱动程序上,确保在监视器屏幕上显式正确的输出(或打印到硬拷贝中)。GDI+是中的一个,它主要负责在显示屏幕和打印设备输出有 关信息,它是一组通过C类 实现的应用程序编程接口。顾名思义,GDI+是以前版本GDI的继承者,出于兼容性考虑,Windows XP仍然支持以前版本的GDI,但是在开发新应用程序的时候,开发人员为了满足图形输出需要应该使用GDI+,因为GDI+对以前的Windows版本中 GDI进行了优化,并添加了许多新的功能。 GDI+ 提供了一个抽象层,隐藏了不同视频卡之间的区别,这样就可以调用 Windows API 函数完成指定的任务了,GDI 会在内部之处在运行特定的代码时,如何让客户机的视频卡完成要绘制的图形。大多数计算机都有多个显式设备---比如监视器和打印机。GDI 成功地使应用程序所使用的打印机看起来与屏幕一样。GDI 给开发人员提供了一个相当高级的 API,但它仍然是一个基于旧的 Windows API 并且有 C 语言风格函数的 API,所以使用起来不是很方便。GDI+ 基本上是 GDI 和应用程序之间的一层,提供了更直观、基于继承性的对象模型。尽管 GDI+ 基本上是 GDI 的一个包装器。
rchitecture
2 .NET Framwork 2.0图形设备接口比较
GDI在Windows中定义为Graphics Device Interface,即图形设备接口,是Windows API(Application Programming Interface)的一个重要组成部分。它是Windows图形显示程序与实际物理设备之间的桥梁,GDI使得用户无需关心具体设备的细节,而只需在一 个虚拟的环境(即逻辑设备)中进行操作。它的桥梁作用体现在:1)用户通过调用GDI函数将逻辑空间的操作转化为具体针对设备驱动 程序的调用。为实现图形设备无关性,Windows 的绘图操作在一个设备描述表上进行。用户拥有自己的逻辑坐标系统,它独立于实际的物理设备,与设备坐标相对应。开发Windows应用程序时,程序员关心的是逻辑坐标,我们在逻辑坐标系上绘图,利用GDI将逻辑窗口映射到物理设备上。2)GDI能检测具体设备的能力,并依据 具体的设备以最优方式驱动这些设备,完成真实的显示。GDI函数大致可分类为:设备上下文函数(如GetDC、CreateDC、 DeleteDC)、 画线函数(如LineTo、Polyline、Arc)、填充画图函数(如Ellipse、FillRect、Pie)、画图属性函数(如 SetBkColor、SetBkMode、SetTextColor)、文本、字体函数(如TextOut、GetFontData)、位图函数(如 SetPixel、BitBlt、StretchBlt)、坐标函数(如DPtoLP、LPtoDP、ScreenToClient、 ClientToScreen)、映射函数(如SetMapMode、SetWindowExtEx、SetViewportExtEx)、元文件函数 (如PlayMetaFile、SetWinMetaFileBits)、区域函数(如FillRgn、FrameRgn、InvertRgn)、路径函 数(如BeginPath、EndPath、StrokeAndFillPath)、裁剪函数(如SelectClipRgn、 SelectClipPath)等。GDI虽然使程序员得到了一定程度的解脱,但是其编程方式仍很麻烦。譬如,显示一张位图,程序员 需要进行装入位图―读取位图文件头信息―启用设备场景―调色板变换等一连串操作。而有了GDI+,这些问题便迎刃而解了。顾名思 义,GDI+是GDI的增强版。它是微软在Windows 2000以后操作系统中提供的新接口,其通过一套部署为托管代码的类来展现,这套类被称为GDI+的托管类接口。GDI+主要提供了以下三类服务:1) 二维矢量图形:GDI+提供了存储图形基元自身信息的类(或结构体)、存储图形基元绘制方式信息的类以及实际进行绘制的类;2) 图像处理:大多数图片都难以划定为直线和曲线的集合,无法使用二维矢量图形方式进行处理。因此,GDI+为我们提供了Bitmap、Image等类,它们 可用于显示、操作和保存BMP、JPG、
文档评论(0)