- 1、本文档共47页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第八章 Visual C++图形程序设计 一、基础知识 二、绘图工具 CGdiObject类及子类 三、绘图操作 CDC类及子类 一、基础知识 画家与程序员 图形设备接口(GDI)和设备环境(DC) 图形刷新 映射模式(MM) 颜色 1.1. 画家与程序员 画家---程序员 画布---窗口客户区 画家使用的工具---画笔、画刷、调色板等 图形示例: Bring notebook, textbook, planner, and appropriate writing tools to class. Know due dates, and submit all coursework on time. All assignments are posted on the bulletin board and on the class Web site. 二、Visual C++ 绘图工具 CGdiObject类及子类 2.1. 画笔---计算机中一条线有哪些属性? 线的坐标 线型 线宽 线的颜色 CPen类的操作步骤 (1)声明CPen对象。 (2)初始化画笔。 通过调用CreatePen成员函数可以初始化笔,该函数的原型为:BOOL CreatePen( int nPenStyle, int nWidth, COLORREF crColor ); (3)将新建的画笔对象选进设备场景中,同时保存原画笔对象的指针: pOldPen=pDC-SelectObject(pen); (4)调用绘图函数生成图形。 (5)选择设备场景的原有画笔对象。 画笔的各种效果演示 2.2 画刷---有哪些属性? 画刷起什么作用? 画笔对象是用来绘制图形边界的。 画刷则是给图形内部着色的。 CBrush::CreateSolidBrush() 函数来初始化纯色画刷。 CBrush::CreateHatchBrush() 函数来初始化阴影画刷。 画刷起什么作用? 画笔对象是用来绘制图形边界的。 画刷则是给图形内部着色的。 CBrush::CreateSolidBrush() 函数来初始化纯色画刷。 CBrush br; br.CreateSolidBrush(RGB(255,0,0)); CBrush::CreateHatchBrush() 函数来初始化阴影画刷。 CBrush::CreateHatchBrush(int nIndex, DWORD crColor); 例如:创建一个十字线阴影的红色图案刷子 CBrush br; br.CreateHatchBrush(HS_CROSS,RGB(255,0,0)); 三、Visual C++ 绘图操作 CDC类及其子类 3.2. Visual C++的文本操作 文本输出函数 文本属性控制 文本的字体 3.2.1. 基本的文本输出函数 设置前景色: CDC::SetTextColor(int nColor); 设置背景色: CDC::SetBkColor(int nColor); 文本输出函数: CDC::TextOut(…); 示例: dc.SetTextColor(WHITE); dc.SetBkColor(DK_BLUE); dc.TextOut(10,10,“Here it is.”); 扩展的文本输出函数 文本输出除了前面讲的TextOut()外,常见的还有ExtTextOut(): 该函数的原型为: BOOL ExtTextOut { int x, int y; //输出的位置 UINT nOptions;//指定矩形的类型 LPCRECT lpRect;//输出的字符的矩形区域 const CString str;//欲输出的字符 LPINT lpDxWidths ;//字符间距 }; 该函数用来在一个给定的矩形lpRect区域内输出字符串str,此矩形可以设置为透明的(nOptions=ETO_OPAQUE)或不透明的,当矩形区域为不透明时,用当前的背景色填充矩形。 扩展的文本输出函数 此矩形也可以设置为裁剪(nOptions=ETO_CLIPPED)性质或非裁剪性质,当设置为裁剪性质时,所有在矩形外面的字符串将被裁剪掉。 上述参数中,nOptions主要设置矩形的类型,可以为ET
文档评论(0)