第三单元 Windows的图形设备接口及Windows绘图.pptVIP

第三单元 Windows的图形设备接口及Windows绘图.ppt

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

第三章 Windows的图形设备接口及Windows绘图 一、概述 Windows图形设备接口(GDI,Graphics Device Interface)是为与设备无关的图形设计的。 所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置。 二、相关内容 图形设备接口 绘图工具和颜色的设置与应用 常用绘图函数 应用实例 图形设备接口 图形设备接口(GDI)负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字,是Windows系统的重要组成部分。 开发人员只要建立与输出设备的关联,让系统加载相应的设备驱动程序即可。 图形设备接口 图形设备接口的一些基本概念 图形刷新 获取设备环境 映像模式 图形设备接口 -图形设备接口的一些基本概念 设备描述表(Device Context)是一个用来确定任何设备的GDI输出的位置和形象的属性的集合。 应用程序并不能直接读取设备描述表,而是使用设备描述表的句柄来间接地存取设备描述表及其属性。 当程序为设备描述表要求一个句柄时,就将创建一个设备描述表。包含其属性和默认值。 图形设备接口 -图形刷新 图形刷新是绘图过程中必须考虑的重要问题。包括以下步骤: 刷新请求 对刷新请求的响应 刷新方法 图形设备接口 -图形刷新 刷新请求 其目的是为了解决在多窗口操作时,被覆盖的图形或窗口,在遮挡窗口消失后,图形和窗口的恢复问题。 Windows系统并不总是记录窗口中需保存的内容。应用程序必须及时处理刷新请求和刷新图形的功能。 Windows系统通常通过发送WM_PAINT消息将刷新请求传送给应用程序。 图形设备接口 -图形刷新 对刷新请求的响应 当用户区的内容需要刷新时,系统向应用程序消息队列发送WM_PAINT消息,系统在应用程序的消息队列中加入该消息,以通知窗口函数执行刷新处理。 Windows系统对刷新请求的响应分为三种情况。 图形设备接口 -图形刷新 对刷新请求的响应 窗口被另一个窗口覆盖的区域称为无效区域。 Windows系统为每个窗口建立了一个 PAINTSTRUCT结构,该结构中包含了包围无效区域的一个最小矩形的结构RECT,应用程序可以根据这个无效矩形执行刷新操作。 图形设备接口 -图形刷新 刷新方法 常用的Windows应用程序刷新窗口的方法 保存副本。 刷新时将副本拷贝到相应的窗口中 记录事件。 刷新时重新执行这个曾经发生的事件 重新绘制。 将图形绘制处理程序放在消息WM_PAINT响应模块中,刷新时重绘图形 图形设备接口 -获取设备环境 获取设备环境是应用程序输出图形的先决条件,常用的两种方法: 调用函数BeginPaint 调用函数GetDC 图形设备接口 -获取设备环境 调用函数BeginPaint 应用程序响应WM_PAINT消息进行图形刷新时,主要通过调用BeginPaint函数获取设备环境,其形式为: hdc=BeginPaint(hwnd,ps); //ps为PAINTSTRUCT类型结构, //定义方式为:PAINTSTRUCT ps; 由BeginPaint函数获取的设备环境要用EndPaint函数释放,其形式为: void EndPaint(HWND hwnd, PAINTSTRUCT ps); 图形设备接口 -获取设备环境 调用GetDC函数 如果绘图工作并非由WM_PAINT消息驱动,则调用GetDC函数获取设备环境。其形式为: hdc=GetDC(hwnd); 由GetDC函数获取的设备环境必须用ReleaseDC函数释放。其形式为: void ReleaseDC(HWND hwnd); 图形设备接口 -获取设备环境 图形设备接口 -映像模式 映像模式定义了将逻辑单位转化为设备的度量单位以及设备的x方向和y方向,程序员可在一个统一的逻辑坐标系中操作而不必考虑输出设备的坐标系情况。 窗口: 对应逻辑坐标系上程序员设定的区域 视口: 对应实际输出设备上程序员设定的区域 图形设备接口 -映像模式 图形设备接口 -映像模式 图形设备接口 -映像模式 映像模式的设置 应用程序可获取设备环境的当前映像模式,并根据需要设置映像模式。 设置设备环境的映像模式 SetMapMode(hdc,nMapMode); nMapMode为映像模式的整型标识符 获取当前设备环境的映像模式 nMapMode=GetMapMode(hdc); 图形设备接口 -映像模式 映像模式的设置 窗口区域的定义由SetWindowExtEx函数完成,其函数原型形为: BOOL SetWindowExtEx ( HDC hdc, int nHeight,nWidth,//以逻辑单位表示的

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档