- 1、本文档共90页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第7章 图形、文本和打印
第7章 图形、文本和打印 7图形、文本和打印 Window为操作系统和硬件提供了图形用户接口GUI(Graphics Users Interface)。所有的信息,甚至文本,在Windows下都可以作为图形画到屏幕上。 Window的GDI(设备图形接口)提供了绘图的基本工具,如画点、线、多边形、位图以及文本输出。主要负责系统与用户或绘图程序之间的信息交换,并在输出设备上显示图形或文字。 MFC提供了设备环境类CDC和图形对象类CGdiObject来完成绘图操作。 7.1 设备环境和简单数据类 设备环境 设备环境是由Windows保存的一个数据结构,包含应用程序向设备输出时所需要的信息,如当前背景色或区域图案、区域的无效部分等。 Windows通过设备环境确定任何输出设备的GDI输出的位置和图形的属性。 当用户绘图时,需要访问设备描述表DC(Device Context),它的主要作用是提供程序与物理设备或者伪设备之间的联系,另外还处理绘图属性设置,如文本颜色设置。 7.1.1 设备环境类 设备环境类CDC是GDI封装在MFC中的最大的一个类,它表示总的DC,是所有DC类的基类。CDC类定义环境对象,并提供在显示器、打印机或窗口客户区上绘制图形的方法,它封装了使用设备环境的GDI函数。 CDC类的成员函数有近200个,可分为位图函数、剪裁函数、绘图属性函数、初始化函数和字体函数等。 7.1.1 设备环境类 设备环境类CDC提供了绘制和打印的全部函数。为了能让用户使用一些特殊的设备环境,CDC还派生了CPaintDC、CClientDC、CWindowDC和CMetaFileDC类。 (1)CPaintDC比较特殊,它的构造函数和析构函数都是针对OnPaint进行的,但用户一旦获得相关的CDC指针,就可以将它当成任何设备环境(包括屏幕、打印机)指针来使用。CPaintDC类的构造函数会自动调用BeginPaint,而它的析构函数则会自动调用EndPaint。 7.1.1 设备环境类 (2)CClientDC只能在窗口的客户区(不包括边框、标题栏、菜单栏以及状态栏)中进行绘图,点(0,0)通常指的是客户区的左上角。而CWindowDC允许在窗口的任意位置中进行绘图,点(0,0)指整个窗口的左上角。WindowDC和CClientDC构造函数分别调用GetWindowDC和GetDC,但它们的析构函数都是调用ReleaseDC函数。 (3)CMetaFileDC封装了在一个Windows图元文件中绘图的方法。图元文件是一系列与设备无关的图片的集合,由于它对图象的保存比像素更精确,因而往往在要求较高的场合下使用。目前的Windows已使用增强格式(enhanced-format)的32位图元文件来进行操作。 7.1.2 坐标映射 要指定绘图位置,需使用坐标系。Windows提供了两类坐标系:设备坐标系和逻辑坐标系。 逻辑坐标就是内存中虚拟的坐标,可以理解为看不见的,而设备坐标就是跟具体的设备相联系的坐标系统,如:显示器和打印机设备坐标系下的坐标,大小与分辨率有关。 为了能保证打印的结果不受设备的影响,Windows定义了一些映射模式,不同的映射模式决定了设备坐标和逻辑坐标之间的转换关系,也就是两种坐标系统在相互转换时,逻辑单位和设备单位之间的某种比例关系。 说明:Windows中,只有对需要设备环境句柄作参数的GDI函数,映射方式才会起作用。 ? ? 映 射 模 式 ? 视口和窗口 窗口:可以理解成一种逻辑坐标下的窗口 视口:可以理解成实际看到的那个窗口,即设备坐标下的窗口,通常与客户区相同, 窗口和视口是与映射模式相关联的,映射方式就是用于从“窗口”(逻辑坐标)到“视口”(设备坐标)的映射。在映射模式MM_ANISOTROPIC和MM_ISOTROPIC中,常常可以调用CDC::SetWindowExt()和CDC::SetViewportExt()来设置所需要的比例因子。 根据“窗口”和“视口”的大小可以确定x和y的比例因子,它们的关系如下: x比例因子?=视口x大小/窗口x大小 y比例因子 =视口y大小/窗口y大小? 7.1.3. CPoint、CSize和CRect 7.1.3. CPoint、CSize和CRect 7.1.3. CPoint、CSize和CRect CRect的常用操作(1) CRect的常用操作(2) CRect的常用操作(3) 7.1.4. 颜色和颜色对话框 7.1.4. 颜色和颜色对话框 7.1.4. 颜色和颜色对话框 7.1.5. 图形设备接口 7.1.5. 图形设备接口 7.1.5. 图形设备接口 7.1.5.
文档评论(0)