第4章 Windows的图形设备接口及Windows绘图.ppt
《第4章 Windows的图形设备接口及Windows绘图.ppt》由会员分享,可在线阅读,更多相关《第4章 Windows的图形设备接口及Windows绘图.ppt(53页珍藏版)》请在优知文库上搜索。
1、第第4 4章章 WindowsWindows的图形设备接口及的图形设备接口及WindowsWindows绘图绘图 Windows图形设备接口图形设备接口(GDI)是为与)是为与设备无关设备无关的的图形设计的。所谓设备的无关性,就是操作系统屏图形设计的。所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编蔽了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置。程时无需考虑特殊的硬件设置。Windows支持与设备无关的图形支持与设备无关的图形利用利用GDI和和Windows设设备驱动程序备驱动程序开发人员只要建开发人员只要建立与输出设备的立与输出设备的关联,
2、让系统加关联,让系统加载相应的设备驱载相应的设备驱动程序即可动程序即可一、图形设备接口一、图形设备接口(GDI)GDI负责系统与用户或绘图程序之间的信息交换,并控制在输负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上出设备上显示图形显示图形或或文字文字,是是Windows系统的重要组成部系统的重要组成部分。分。设备描述表设备描述表即为即为设备环境设备环境的属性的集合。的属性的集合。应用程序应用程序与与输出设备输出设备之之间的桥梁间的桥梁Win系统系统外设外设直接访问直接访问不允许不允许统一的设备环境统一的设备环境(DC)提供提供使应用程序与设备相连使应用程序与设备相连用用户户为确保图
3、形输出为确保图形输出的的设备无关性设备无关性1.GDI的一些基本概念的一些基本概念应应用用程程序序设备描设备描述表及述表及其属性其属性通过设备描述表的句柄来间接地存取通过设备描述表的句柄来间接地存取应用程序每一次图形应用程序每一次图形操作均参照设备描述操作均参照设备描述表中的属性执行表中的属性执行图形刷新图形刷新是绘图过程中必须考虑的重要问题是绘图过程中必须考虑的重要问题刷新请求刷新请求对刷新请求的响应对刷新请求的响应刷新方法刷新方法包括(1)刷新请求刷新请求 应用程序在窗口中应用程序在窗口中绘制了一个椭圆,绘制了一个椭圆,颜色列表框覆盖了颜色列表框覆盖了椭圆的一部分椭圆的一部分关闭颜色选框后
4、,关闭颜色选框后,应用程序需要恢应用程序需要恢复被覆盖部分的复被覆盖部分的颜色和形状颜色和形状窗口大小的调整窗口大小的调整窗口移动窗口移动被覆盖后的恢复被覆盖后的恢复(2)系统对刷新请求的响应系统对刷新请求的响应 当用户区的内容需要刷新时,系统向应用程序消当用户区的内容需要刷新时,系统向应用程序消息队列发送息队列发送WM_PAINT消息,系统在应用程序的消消息,系统在应用程序的消息队列中加入该消息,以通知窗口函数执行刷新处理息队列中加入该消息,以通知窗口函数执行刷新处理三种三种刷新刷新窗口移动后的刷新窗口移动后的刷新被覆盖区域的刷新被覆盖区域的刷新对象穿越后的刷新对象穿越后的刷新(系统自动完成
5、)用户区移动或显示用户区移动或显示用户窗口大小改变用户窗口大小改变程序通过滚动条滚动窗口程序通过滚动条滚动窗口窗口被另一个窗口覆盖的窗口被另一个窗口覆盖的恢复如下拉式菜单关闭等恢复如下拉式菜单关闭等光标穿过用户区光标穿过用户区图标拖过用户区图标拖过用户区窗口被另一个窗口覆盖的区域称为窗口被另一个窗口覆盖的区域称为无效区域无效区域。Windows系统为每个窗口建立了一个系统为每个窗口建立了一个PAINTSTRUCT结构结构,该该结构中包含了包围结构中包含了包围无效区域无效区域的一个最小矩形的结构的一个最小矩形的结构RECT,应用应用程序可以根据这个无效矩形执行刷新操作。程序可以根据这个无效矩形执
6、行刷新操作。Typedef struct tagPAINTSTRUCTTypedef struct tagPAINTSTRUCT HDC hdc HDC hdc;/设备环境句柄设备环境句柄 BOOL fEraseBOOL fErase;/一般取真值,表示擦除无效矩形的背景一般取真值,表示擦除无效矩形的背景 RECT RECT rcPaintrcPaint;/无效矩形标识无效矩形标识 BOOL fRestoreBOOL fRestore;/系统保留系统保留 BOOL fIncUpdateBOOL fIncUpdate;/系统保留系统保留 BYTE rgbReserved16BYTE rgbRes
7、erved16;/系统保留系统保留 PAINTSTRUCT;PAINTSTRUCT;rcPaint 为标准的为标准的RECT数据结构,数据结构,其作用是标识无效矩形,它包含了其作用是标识无效矩形,它包含了无效矩形的左上角和右下角的坐标无效矩形的左上角和右下角的坐标常用的常用的Windows应用应用程序刷新窗口程序刷新窗口的方法的方法保存副本。刷保存副本。刷新时将副本拷新时将副本拷贝到相应的窗贝到相应的窗口中口中记录事件。刷新记录事件。刷新时重新执行这个时重新执行这个曾经发生的事件曾经发生的事件重新绘制。将图形重新绘制。将图形绘制处理程序放在绘制处理程序放在消息消息WM_PAINT响应模块中,刷
8、新响应模块中,刷新时重绘图形时重绘图形(3)有效的刷新方法有效的刷新方法获取设备环境是应用程序输出图形的先决条件,常用的两种方法获取设备环境是应用程序输出图形的先决条件,常用的两种方法是调用函数是调用函数BeginPaint或或GetDC(1)调用调用BeginPaint函数函数 应用程序响应应用程序响应WM_PAINT消息进行图形刷新时,主要通过消息进行图形刷新时,主要通过调用调用BeginPaint函数获取设备环境函数获取设备环境 hdc=BeginPaint(hwnd,&hdc=BeginPaint(hwnd,&psps);/psps为为PAINTSTRUCTPAINTSTRUCT类型结
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 Windows的图形设备接口及Windows绘图 Windows 图形 设备 接口 绘图