VisualC图形程序设计(I)

VisualC图形程序设计(I)

ID:41097366

大小:1.18 MB

页数:47页

时间:2019-08-16

VisualC图形程序设计(I)_第1页
VisualC图形程序设计(I)_第2页
VisualC图形程序设计(I)_第3页
VisualC图形程序设计(I)_第4页
VisualC图形程序设计(I)_第5页
资源描述:

《VisualC图形程序设计(I)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第八章VisualC++图形程序设计一、基础知识二、绘图工具CGdiObject类及子类三、绘图操作CDC类及子类一、基础知识画家与程序员图形设备接口(GDI)和设备环境(DC)图形刷新映射模式(MM)颜色1.1.画家与程序员画家---程序员画布---窗口客户区画家使用的工具---画笔、画刷、调色板等图形示例:Bringnotebook,textbook,planner,andappropriatewritingtoolstoclass.Knowduedates,andsubmitallcourseworkont

2、ime.AllassignmentsarepostedonthebulletinboardandontheclassWebsite.1.2.图形设备接口与设备环境Windows图形设备接口(GDI)是为与设备无关的图形设计的。所谓设备的无关性,就是操作系统屏蔽了硬件设备的差异,因而设备无关性能使用户编程时无需考虑特殊的硬件设置图形设备接口(GDI)GDI负责系统与用户或绘图程序之间的信息交换,并控制在输出设备上显示图形或文字,是Windows系统的重要组成部分Windows支持与设备无关的图形利用GDI和Wind

3、ows设备驱动程序开发人员只要建立与输出设备的关联,让系统加载相应的设备驱动程序即可GDI的一些基本概念设备描述表即为设备环境的属性的集合应用程序与输出设备之间的桥梁Win系统外设直接访问不允许统一的设备环境(DC)提供使应用程序与设备相连用户为确保图形输出的设备无关性应用程序设备描述表及其属性通过设备描述表的句柄来间接地存取应用程序每一次图形操作均参照设备描述表中的属性执行1.3.图形刷新图形刷新是绘图过程中必须考虑的重要问题刷新请求对刷新请求的响应刷新方法包括(1)刷新请求应用程序在窗口中绘制了一个椭圆,颜色

4、列表框覆盖了椭圆的一部分关闭颜色选框后,应用程序需要恢复被覆盖部分的颜色和形状窗口大小的调整窗口移动被覆盖后的恢复(2)系统对刷新请求的响应当用户区的内容需要刷新时,系统向应用程序消息队列发送WM_PAINT消息,系统在应用程序的消息队列中加入该消息,以通知窗口函数执行刷新处理三种刷新窗口移动后的刷新被覆盖区域的刷新对象穿越后的刷新(系统自动完成)用户区移动或显示用户窗口大小改变程序通过滚动条滚动窗口窗口被另一个窗口覆盖的恢复如下拉式菜单关闭等光标穿过用户区图标拖过用户区窗口被另一个窗口覆盖的区域称为无效区域。W

5、indows系统为每个窗口建立了一个PAINTSTRUCT结构,该结构中包含了包围无效区域的一个最小矩形的结构RECT,应用程序可以根据这个无效矩形执行刷新操作。TypedefstructtagPAINTSTRUCT{HDChdc;//设备环境句柄BOOLfErase;//一般取真值,表示擦除无效矩形的背景RECTrcPaint;//无效矩形标识BOOLfRestore;//系统保留BOOLfIncUpdate;//系统保留BYTErgbReserved[16];//系统保留}PAINTSTRUCT;rcPain

6、t为标准的RECT数据结构,其作用是标识无效矩形,它包含了无效矩形的左上角和右下角的坐标常用的Windows应用程序刷新窗口的方法保存副本。刷新时将副本拷贝到相应的窗口中记录事件。刷新时重新执行这个曾经发生的事件重新绘制。将图形绘制处理程序放在消息WM_PAINT响应模块中,刷新时重绘图形(3)有效的刷新方法1.4.映像模式映像模式定义了将逻辑单位转化为设备的度量单位以及设备的x方向和y方向,程序员可在一个统一的逻辑坐标系中操作而不必考虑输出设备的坐标系情况窗口:对应逻辑坐标系上程序员设定的区域视口:对应实际输出

7、设备上程序员设定的区域窗口和视口如何映射?映射示意图---原始文档和显示的文档原始文档和显示的文档缺省的映射模式将窗口中的对称图形映射到视口时仍为对称图形按照窗口和视口的坐标比例进行映射坐标系统逻辑坐标系统设备坐标系统屏幕坐标系统窗口坐标系统用户区坐标系统CDC*pDC1;(1)设置坐标的映射模式pDC1->SetMapMode(MM_ISOTROPIC);(2)设置逻辑坐标pDC1->SetWindowExt(200,200);pDC1->SetWindowOrg(0,0);(3)设置物理坐标pDC1->Set

8、ViewportExt(rc.right,-rc.bottom);pDC1->SetViewportOrg(0,rc.bottom);1.5.颜色Windows使用宏RGB定义绘图的颜色,其形式为:RGB(nRed,nGreen,nBlue)红色值蓝色值绿色值RGB(255,0,0)RGB(0,255,0)RGB(0,0,255)二、VisualC++绘图工具CGdiOb

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。