图形基础.pptVIP

  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文档。上传文档
查看更多
图形基础

图形基础 主要内容 GDI功能 设备描述表 点、线绘制 GDI功能 连接应用程序与设备驱动程序,执行硬件相关功能,产生输出,而给应用提供一个设备无关的视角(输出设备特性隔离) 在GDI环境中存在两种空间——物理和逻辑空间。应用程序存在于逻辑空间中,代表理想的世界,可以“感知”所有的字体、颜色、分辨率等;物理空间代表真实的设备世界,具有有限的颜色、特定的输出格式和不同的绘画能力 GDI对objects (pens, brushes, fonts, palettes, and bitmaps)、输出原语、坐标进行逻辑、物理空间的相互映射 Object的处理方式——实例化 CreatePen——logical pen( logical object) SelectObject——实例化为一个physical pen object ,它包含设备相关信息,用于和设备通信 实例化期间,(logical)颜色被映射为硬件可实现的颜色,字体被映射为可实现的字体 输出原语 输出原语作为“逻辑”请求发给设备驱动程序,与Object的处理方式相似,设备尽其所能,以最佳的分辨率“画”出原语 如果设备不能处理特定的原语,如Ellipse 调用,则GDI会用多边形模拟一个椭圆,同过polyline完成绘制,如果设备仍然不支持polyline,则通过一系列的线段输出 GDI基本图形 直线和曲线 填充区域 位图 文本 坐标映射 应用程序可以通过SetMapMode, SetWindowExtEx, SetWindowOrgEx, SetViewportExtEx, SetViewportOrgEx设置自己的逻辑坐标系 GDI将应用程序的逻辑坐标系映射到设备坐标系(一个单元代表一个像素, (0,0) 代表输出区域的左上角) 设备驱动程序只能看到自己空间的物理坐标,而应用程序也只在自己的逻辑坐标系内操作,不考虑目标的物理像素排列 通过维护这两个即分离又有一定联系的坐标系,GDI给应用程序提供了一个设备无关接口,只要应用程序避免依赖对设备的假定,只利用逻辑坐标进行绘制,那么,这些绘制可以输出到任何新增的图形设备上 设备描述表 应用程序必须通知GDI加载特定的设备驱动程序,一旦对应的驱动程序加载之后,就可以准备绘制了,例如,选取线条颜色、宽度,字体,画刷颜色,剪切区域等 这些绘制操作是通过创建和维护设备描述表——DC来完成的 一个DC代表了内存中的一个结构,它定义了一系列图形对象及其相关属性 设备描述表分类 显示设备描述表 打印机设备描述表 内存设备描述表 信息设备描述表 显示设备描述表 显示设备描述表是Windows创建的设备描述表。应用程序使用它来绘制窗口。Windows为窗口的输出准备显示设备描述表,用它取代显示设备为窗口设置绘制对象、颜色和式样。 Windows提供了五种类型的显示设备描述表:公共型、类型、父型、私有型和窗口型。 Windows根据窗口类风格中指定的显示设备描述表的类型,为窗口提供一个公共型、类型、父型或私有型的显示设备描述表。只有应用程序显式地请求时Windows才提供一个窗口型设备描述表,例如调用函数GetWindowDC和GetDCEx函数。任何情况下,应用程序都能通过函数WindowFromDC来确定显示设备描述表代表的窗口。 公共显示设备描述表 公共DC用于在窗口内绘制。如果一个窗口的窗口类没能显式指明一种显示设备描述表风格,Windows就为这个窗口提供一个公共DC。公共DC用于在绘制时不需对DC的属性做太多的改变的窗口。 应用程序获取公共DC时,Windows调整原点使之与客户区的左上角对齐,同时还设置裁剪域,把对DC的输出裁剪到客户区中。任何可能出现在客户区外的输出都被裁剪掉。 由于系统中只有有限的公共显示设备描述表,因此,在绘制结束时,需要释放公共DC 应用程序释放公共DC时,Windows把其中的各属性恢复成默认值。释放一个DC也将释放掉应用程序已经选进DC的绘制对象,因此应用程序在释放DC前就不必在释放绘制对象。总之,应用程序无论何时都不能认为公共DC被释放后还保留非默认的选择值。 私有显示设备描述表 私有DC使得应用程序不必每次在窗口内绘制时都获取并初始化显示DC。如果一个窗口的DC中许多属性和默认值不一样,那么每次绘制时都要改变许多属性,这时私有DC的应用就会减少DC的准备时间。 私有DC通常用于具有大量绘制操作的应用中,如CAD( computer-aided design )应用程序、桌面应用程序、绘图程序等。 应用程序通过在窗口类中指明CS_OWNDC风格让Windows为一个窗口创建私有DC。Windows在创建一个该类的窗口时就为它建立一个私有DC。私有DC开始具有同公共DC相同的默认属性值,但应用程序可

文档评论(0)

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

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

1亿VIP精品文档

相关文档