1 / 14
文档名称:

第七章 图形设备接口与绘图应用.ppt

格式:ppt   页数:14
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

第七章 图形设备接口与绘图应用.ppt

上传人:中国课件站 2011/10/11 文件大小:0 KB

下载得到文件列表

第七章 图形设备接口与绘图应用.ppt

文档介绍

文档介绍:图形设备接口与绘图应用
图形设备接口( GDI , Graphics Device Interface )是 windows 系统中的核心模块,它是一个可执行程序( )。
在 windows 应用程序中,图形和文本都是通过 GDI 以图形方式来处理的, GDI 接受了 windows 应用程序的绘图请求后,它会根据设备环境( DC )的设置,将这些请求传给相应的设备驱动程序,从而完成特定硬件的输出。
GDI 之所以能够完成应用程序的绘图请求,是因为它含有在 Windows 应用程序内部可调用的、且与设备无关的图形操作函数,这些函数可产生各种各样的线、正文和位图,它们可以输出到许多不同的输出设备上。
GDI 允许一个应用程序产生画笔、画刷、字体和位图等绘图工具,以供特定的输出操作使用。
Company Logo
设备环境和设备环境类
设备环境( DC , Device context )是 GDI 接口的一个重要组成部分
它实际上是一个数据结构,其内容包括绘图窗口的参数、各种图形和文字属性的当前设定值以及包括当前选择的画笔、画刷等工具属性的跟踪,它们对以后的图形和文字输出命令起到控制作用。
在使用任何 GDI 输出函数之前,程序设计者必须要创建一个设备环境。创建设备环境这只是使用 Windows 提供的许多 GDI 功能的第一步
Company Logo
基于 MFC 的 Windows 编程与以往 Windows 编程不同,它总是选择一个 MFC 类对设备环境进行访问。 MFC 提供了几种不同的设备环境类, CDC 是以下所列设备环境类的基类,它封装了 GDI 的一些图形处理函数。常用的派生类有以下几种:
CClientDC : 绘图区域指窗口的客户区,用来立即响应鼠标事件进行绘图,设备环境的建立和初始化都在鼠标消息对应的处理程序中。
所谓客户区是指窗口区域中除去边框、标题栏、菜单栏或可能有的状态栏、对话栏等以外的部分。坐标( 0 , 0 )通常指客户区的左上角。lientDC 绘图时,通常先调用窗口的 GetClientRect ( )来获取客户区的大小。
Company Logo
CWindowDC :绘图区域指整个显示器,坐标( 0 , o )指整个屏幕的左上角。 CWindowDC 给了程序员很大的自由度,但使用不当也会带来麻烦。使用 CWindowDC 绘图时,通常应先调用 GetwindowRect ( )函数,获取窗自在屏幕坐标系中的外边框坐标。
CPaintDC :绘图区域一般指窗口的客户区,它是利用 WM_PAINT 消息驱动绘图的。利用该类绘图必须要明白 OnPaint ( )和 OnDraw ( )两个函数之间的关系。 OnPaint ( ) 函数是 WM_PAINT 消息的处理函数,设备环境是在该函数中创建的,并且还调用了 OnDraw() 函数,它是应用程序中的视图类的成员函数。通过调用参数把设备环境的指针传递到 OnDraw() 函数中,然后在该函数中进行绘图程序的设计。
总之, CDC 的几种变型各具特点, CClientDC 和 CPaintDC 比较常用。当然还有其他的 MFC 的 DC 类,为特殊目的而设计。
Company Logo
设备环境类 CDC 的功能
设备环境类 CDC 的功能十分丰富,包括了有关绘图的方方面面。从功能上来看, CDC 的功能可以有以下几种:
当前 GDI 绘图对象管理: GDI 绘图对象有位图、画刷、画笔、调色板、字体、区域等,在 MFc 中,它们分别由类 cBitmap 、 cBrush 、 CPen 、 CPalette 、 CFont 和 CRgn 表示。
绘图的效果依赖于这些绘图对象的具体状态。在创建CDC对象时,它包含了这些工具的默认值。如果在绘图前创建新 GDI 对象时,必须要调用 SelectObject ( )函数,以便在设备环境中用新 GDI 对象替代旧对象。此外该函数还可以返回旧对象,以便用新对象完成绘图后再恢复为旧对象。
绘图状态和绘图操作管理:绘图状态一般包括背景色、前景色、线宽、线型、填充模式、裁剪区域、字体、字号等。在 CDC 中可以设置大部分的绘图状态。
Company Logo
MFC 中的绘图操作都封装在 CDC 中,其中有像素操作、画线操作、填充操作、画矩形、画椭圆(圆、弧、扇形)、位图操作,另外还有区域的运算及操作、路径操作和字符显示等。使用 MFC 编程,常常需要调用各种绘图操作。
GDI 对象的分类
与绘图相关的 GDI 对象类主要包括 CPen 类、 CBrush 类、 CFont 类、 CRgn 类、 CPalette 类、 CBitmap 类,它们

最近更新

2025年安徽卫生健康职业学院单招职业适应性测.. 41页

2025年安徽国防科技职业学院单招职业技能测试.. 40页

2025年安徽审计职业学院单招职业适应性测试题.. 40页

2025年安徽新闻出版职业技术学院单招职业技能.. 40页

2025年安徽水利水电职业技术学院单招职业适应.. 42页

2025年安徽现代信息工程职业学院单招职业倾向.. 41页

2025年安徽省安庆市单招职业倾向性测试模拟测.. 39页

2025年安徽省池州市单招职业适应性测试模拟测.. 41页

2025年安徽省芜湖市单招职业适应性考试模拟测.. 41页

2025年安徽粮食工程职业学院单招职业技能测试.. 39页

2025年安徽职业技术学院单招职业倾向性考试模.. 40页

2025年安徽警官职业学院单招职业倾向性考试模.. 41页

2025年安徽邮电职业技术学院单招职业倾向性测.. 41页

2025年安阳学院单招职业技能测试模拟测试卷推.. 40页

2025年定西师范高等专科学校单招职业倾向性测.. 38页

2025年宜春职业技术学院单招职业倾向性测试模.. 41页

2025年宝鸡三和职业学院单招职业适应性考试模.. 41页

2025年宝鸡职业技术学院单招职业技能考试模拟.. 39页

2025年宿迁泽达职业技术学院单招职业适应性测.. 41页

2025年山东劳动职业技术学院单招职业倾向性测.. 41页

2025年山东华宇工学院单招综合素质考试题库新.. 42页

2025年山东圣翰财贸职业学院单招综合素质考试.. 39页

2025年山东外事职业大学单招职业适应性考试模.. 39页

2025年山东工程职业技术大学单招综合素质考试.. 40页

2025年山东旅游职业学院单招综合素质考试模拟.. 40页

2025年山东水利职业学院单招职业倾向性测试模.. 39页

2025年重庆市《保安员证》考试题库含答案 39页

预防滑倒、绊倒及跌落专题培训课件 45页

混凝土工程培训课件优秀PPT 26页

小学数学六年级下册《鸽巢问题》作业设计 9页