吉林大学脾远程教育72.pptVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
吉林大学脾远程教育72

* * 吉林大学远程教育课件 Windows A P I编 程 主讲人 : 翟慧杰 学 时:48 习题1 四、 Windows绘图程序设计 图形设备接口(GDI:Graphics Device Interface)是Windows的子系统,它负责在视频显示器和打印机上显示图形。正如您所认为的那样,GDI是Windows非常重要的部分。不但您为Windows编写的应用系统在显示视觉信息时只使用GDI,就连Windows本身也只使用GDI来显示用户界面对象,诸如菜单、滚动条、图标和鼠标光标。 从程序员的观点来看,GDI由几百个函数调用和一些相关的数据类型、宏和结构组成。 但是在开始讲述这些函数的细节之前,让我们先从宏观上了解一下GDI的整体结构。 组成GDI的几百个函数调用可以分为几大类: 获取《或创建》和释放(或清除)设备描述表的函数 在绘图时需要设备描述表句柄。 GetDC和RealseDC函数让您在非WM_PAINT 的消息期间来做到这一点,而 BeginPaint和 EndPaint函数(虽然在技术上它们是 USER模块而不是GDI模块的一部分)在进行绘图的WM_PAINT消息期间使用。 获取有关设备描述表信息的函数 GetTextMetrics函数来获取有关设备描述表中当前所选字体的尺寸信息。 绘图函数 显然,在所有前提条件都得以满足之后,这些函数是真正重要的部分。我们使用TextOut函数在窗口的客户区显示一些文本。我们将看到,其他GDI函数还可以让您画线、填充区域。 在屏幕或打印机上显示的图形类型本身可以被分为几类,通常被称为“图元”,它们是: 直线和曲线 线条是所有矢量图形绘制系统的基础。GDI支持直线、矩形、椭(包括椭圆的子集,也就是我们所说的“圆”)、椭圆圆周上的部分曲线即所谓“弧”,以及贝塞尔曲线,我们将在本章中分别对它们进行介绍。所有更复杂的曲线可由折线( polyline)代替,折线通过一组非常短的直线来定义一条曲线。线条用设备描述表中选中的当前画笔绘制。 窗体客户区绘图步骤: 1.获取设备环境句柄 2.获取绘图工具 3.选择绘图工具 4.利用选择的绘图工具绘图 5.恢复原来的绘图工具并删除选择的绘图工具 6.释放设备环境句柄 WINDOWS GDI 函数: 1.GetDC()函数 功能: 用于获取指定窗体客户区的显示器设备描述表句柄。 2.ReleaseDC () 函数 功能:用于释放设备描述表句柄。 3.BeginPaint()函数 功能:用于获取窗体客户区绘图的相关信息,并为绘图做好准备。 4. EndPaint()函数 功能:用于结束窗体客户区绘图。 5. SetPixel()函数 功能:用于在窗体客户区绘制点(像素)。 6、RGB()宏 功能: 用于设置颜色。 7、CreatePen()函数 功能: 用于建立逻辑笔。 8、MoveToEx()函数 功能:用于窗体客户区移动逻辑笔。 9、LineTo()函数 功能:用于在窗体客户区当前位置画线。 10、Ellipse()函数 功能:用于窗体客户区绘制椭圆。 11、SelectObject()函数 功能:用于选择一种绘图工具柄将其装入设备描述表。 12、DeleteObject()函数 功能:用于删除一个绘图工具。 13、TextOut()函数 功能:用于在窗体客户区输出文本。 14、SetBkMode()函数 功能:用于设置窗体客户区背景填充方式。 15、SetTextColor()函数 16、CreateFont()函数 其它函数 ?1.SetTimer()函数 功能:用于建立产生时间消息的时间控件。 2、KillTimer()函数 功能:用于取消时间控件。 3、GetClientRect()函数 功能:用于获取窗体客户区范围。 画点和线: 我们已谈论过Windows图形设备接口将图形输出设备的设备驱动程序与计算机连在一起的方式。在理论上,只要提供SetPixel和GetPixel函数,就可以使用图形设备驱动程序绘制一切东西了。其余的一切都可以使用 GDI模块中实现的更高级的例程来处理。例如画线时,只需GDI调用 SetPixel数次,并适当地调整X和Y坐标。在实际情况中,也的确可以仅使用SetPixel和GetPixel函数进行您需要的任何绘制。您也可以在这些函数的基础上设计出简洁和构造良好的图形编程系统。唯一的问题是性能。如果一个函数通过几次调用才能到达SetPixel函数,那么它运行起来会非常慢。如果一个图形系统画线

您可能关注的文档

文档评论(0)

173****1616 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档