[工学]第2章交互式图形软件设计.ppt

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[工学]第2章交互式图形软件设计

第2章 交互式图形软件设计 2.1 交互式图形软件设计方法 2.1.1 Visual C++ 6.0简介 2.1.2 MFC 类库简介 2.1.3 应用程序框架 2.1.4 使用资源编辑器生成图形用户界面 2.1.5 利用消息映射和消息处理实现交互式绘图 2.2 CDC图形程序库 2.2.1 CDC类 2.2.2 绘图工具选择 2.2.3 坐标系统设置与转换 2.2.4 绘图模式与背景设置 2.2.5 图形绘制 2.2.6 区域填充 2.3 面向对象的画图程序设计 2.3.1 类与数据封装 2.3.2 派生类与继承性 2.3.3 虚函数与多态性 2.3.4 数据存储与屏幕重绘 2.3.5 画图程序的设计思路 在Visual C++应用程序中,窗口的所有图形绘制都是通过设备文本和GDI绘图工具完成的。 在进行绘图之前,首先必须获得设备文本,然后调用设备文本的绘图函数进行屏幕显示或打印。另外,绘图过程中还需要用到GDI绘图工具,生成各种画笔、画刷、字体、调色板、位图和区域等,以便绘制出五颜六色、丰富多彩的各种图形。 在MFC类库中,设备文本由CDC及其派生类定义,GDI绘图工具由CGdiObject的派生类定义。 CDC类是定义设备描述表对象的基类。通过CDC对象的成员函数可以完成所有的绘制工作。 CDC类提供的成员函数可以用于对设备描述表进行的操作、绘画工具的使用、画笔画刷的选择、颜色和调色板的操作、视区和窗口范围的操作、坐标的映射和转换。 CDC的具体绘图函数包括:绘制文本、直线、椭圆、圆、弧、矩形和多边形、区域填充,以及调整字模、使用打印机和操作元文件等。 为使用CDC对象,必须先构造它,然后调用它的成员函数。也可以在某个窗口对象中通过调用GetDC成员函数来获得设备描述表的指针,然后应用该指针调用CDC的成员函数。但此时必须注意在绘图结束之后要通过调用ReleaseDC函数来释放设备描述表。 MFC类库还提供了数个专用的CDC派生类。CPaintDC专用于响应WM_PAINT消息的绘制,CClientDC用于窗口客户区( 视图 )的绘制,CWindowDC用于整个屏幕窗口(包括非客户区)的绘制;CMetalFileDC专用于MetalFile文件的绘制。 用计算机绘图同普通的手工绘图类似,必须首先选择好画笔和画刷等绘图工具,确定好绘图坐标及比例尺,然后根据需要选用适当的绘图函数绘出图形。 Windows应用程序创建输出时使用的绘图工具是画刷和画笔。应用程序可将画笔和画刷结合起来使用,用画笔绘制线条或勾划一个封闭区域的边界,再用画刷对其内部进行填充。绘图工具画笔和画刷是属于GDI对象中的二个。 首次生成设备文本对象时,它有缺省的画笔和画刷。缺省画笔是黑色的,宽度为一个像素。缺省画刷将封闭图形的内部填充成全白色。 要改变当前画刷或画笔,既可以使用库存画刷或画笔,也可以创建新的画刷或画笔,然后将其选入设备文本对象。 1.选择库存绘图工具 要选择库存绘图工具,只需调用CDC成员函数SelectStockObject即可。 例如, 可以用以下代码选择白色画笔和深灰色画刷: pDC->SelectStockObject(WHITE_PEN); pDC一>SelectStockObject(DKGRAY_BRUSH); 其中, WHITE_PEN和DKGRAY_BRUSH是VC预定义的符号常量。 2.创建定制的画笔和画刷工具 在MFC类库中,CPen类封装了GDI的画笔工具,而CBrush类封装了GDI的画刷工具。在定义画笔或画刷对象时,都要调用构造函数来创建缺省的画笔或画刷。以下是在绘图时,使用画笔或画刷的主要步骤: (1)创建CPen类对象或CBrush类对象。 (2)调用合适的成员函数初始化画笔或画刷。如: BOOL CreatePen (int nPenStyle,int nWidth,COLORREF crColor); BOOL CreateSolidBrush (COLORREF crColor); BOOL CreatePatternBrush (CBitmap *pBitmap); (3)调用SelectObject函数将画笔或画刷对象选入当前设备文本对象,并保存原先的画笔或画刷对象。 (4)调用绘图函数绘制图形。 (5)将原先的画笔或画刷对象选入设备文本对象,以便恢复原来的状态。 3. 颜色 初始化画刷和画笔时都必

文档评论(0)

ctuorn0371 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档