Windows编程基础-设备对象属性.docVIP

  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编程基础?-?设备对象属性/Article/kfyy/cjj/jszl/200412/431.html 设备对象属性决定着绘图方式,当使用GDI函数绘图时,所绘制的图形和文本的颜色、大小和位置等由设备对象的当前属性决定,应用程序可以使用GDI函数改变设备对象的当前属性。本章介绍设备对象的一些主要属性和用于改变这些属性的有关函数,其它的设备对象属性在后面的章节中陆续介绍。 3.1、图形设备接口   在第二章,我们一直在使用图形设备接口(GDI),GDI的主要目标之一是支持在输出设备(例如显示器、打印机)上建立与设备无关的图形输出。Windows的图形大部分是由GDI.EXE(Windows系统的一个模块,称GDI模块)中的函数处理的。GDI模块通过调用在不同设备驱动程序模块中的例程来控制输出设备。例如,显示设备驱动程序用于访问与视频显示器有关的硬件。通过GDI,Windows可以确定驱动程序能够进行什么工作,并且由于应用程序只与GDI打交道。这样,GDI通过将应用程序与不同的输出设备隔离,使应用程序可以在支持Windows的任何图形输出设备上工作。   图形输出设备可以分为两组:光栅设备和矢量设备。光栅设备将图象表示为点(象素)的图案。这类输出设备包括显示设备、点阵打印机和激光打印机。向量设备用线段来绘制图象,例如绘图仪。Windows的GDI是一种隔离了硬件具体特性的图形语言。虽然输出设备用象素来表示图形,但GDI却可以被用作一个高级的向量绘图系统,也可以被用来进行较低级的象素操作。   在编写Windows应用程序时,程序员不必为颜色过分担心,如果在应用程序中使用的一种颜色不能被该显示器所表示,Windows或为应用程序选择一种最直接的纯颜色(显示设备可以表示的颜色),或通过将几种纯颜色相混合来表示这种颜色。当在彩色显示器上开发的程序运行在单色显示器上时,Windows将使用灰度来表示颜色。应用程序也可以在程序中确定输出设备的有关特性,例如,可表示的颜色数目、设备的显示区的尺寸等,以便最大限度地发挥硬件的能力。 3.2、设备对象属性   设备对象具有许多决定GDI函数在设备对象上如何工作的当前属性。例如,在使用函数TextOut()时,只需要在函数中说明设备对象的句柄、绘制字符的起始坐标、文本和文本长度,而不用说明字体、文本颜色、背景颜色和字符间距等,因为这些特征由设备对象的属性决定。每种设备对象都赋有缺省的属性,可以使用GDI函数改变这些属性中的某一个。表3-1给出了显示设备各个属性的缺省值,当使用GetDC()和BeginPaint()等函数初次得到一个显示设备对象时,该对象的属性具有缺省值。 属性 缺省值 视区原点 (0, 0) 视区范围 (1, 1) 窗口原点 (0, 0) 窗口范围 (1, 1) 背景颜色 白色 背景方式 OPAQUE 位图 任意值 刷子 WHITE_BRUSH 刷子原点 (0, 0) 裁剪区 用户区/无效矩形区/子窗口区 调色板 DEFAULT_PALETTE ? 属性 缺省值 笔的当前位置 (0, 0) 笔的颜色 BLACK_PEN 文本颜色 黑 设备的原点 用户区的左上角 绘图方式 R2_COPYPEN 字体 SYSTEM_FONT 字符间距 0 映射方式 MM_TEXT 多边形填充方式 ALTERNATE 相对一绝坐标 ABSOLUTE 缩放方式 BLACKONWHITE   在本章以后的各节中将介绍其中一些设备属性,其它属性在以后章节中介绍。 3.3、设备坐标系   为在输出设备上定位和绘制图形对象,必须引入一种坐标系。Windows的各种不同类型设备所使用的坐标称为设备坐标。它们使用笛卡尔坐标系,在这些设备坐标系中,单位都以象素的个数表示(称为设备单位)。x轴上的值自左向右增加,y轴上的值自顶向下增加,见图3-1。 图3-1 Windows的设备坐标系   本节以视频显示设备为例介绍Windows的设备坐标系,其中的许多内容也适合用于象打印机等硬拷贝输出设备。   在Windows环境中,视频显示设备是一个共享设备,即在同一时刻,显示设备上可以同时显示多个应用程序的输出信息。为了保护一个程序显示的信息不被其他程序破坏,Windows通过将显示区看作不同的设备对象来限制应用程序输出信息的范围。   一个应用程序可获取三种不同的显示设备对象句柄,每种句柄所标识的设备对象代表屏幕上的不同区域。我们可以将这三个句柄所标识的对象视作三个不同的抽象显示设备,都带有如图3-1所示的设备坐标系,但对不同的抽象设备,坐标原点不一样的。这样,当使用相同的起始坐标而使用不同的设备对象句柄调用GetDC函数(例如TextOut())进行绘图时,信息显示的位置不一样。   第一

文档评论(0)

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

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

1亿VIP精品文档

相关文档