计算机图形学-ch3要点.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机图形学-ch3要点

3.4.2 矢量字符 矢量字符记录字符的笔画信息而不是整个位图,具有存储空间小,美观、变换方便等优点。对于字符的旋转、缩放等变换,点阵字符的变换需要对表示字符位图中的每一像素进行;而矢量字符的变换只要对其笔画端点进行变换就可以了。矢量字符的显示也分为两步。首先从字库中将它的字符信息检索出来,然后取出端点坐标,对其进行适当的几何变换,再根据各端点的标志显示出字符。 3.5 用Visual C++生成基本图形 VC++程序需要在屏幕或打印机上绘图时,都要调用GDI(图形设备接口)函数。 3.5.1 图形设备接口(GDI) GDI的工作原理大致如下:首先,Windows提供各种显示卡及打印机的驱动程序;其次,各种GDI函数会自动参考被称为设备环境的数据结构,而Windows则自动将设备环境结构映射到相应的物理设备,并且提供正确的输入/输出指令。 GDI在处理速度上几乎和直接进行视频访问一样快,并且它还允许Windows的不同应用程序共享显示器。 GDI包含了可用于绘制点、线、矩形、多边形、椭圆、位图以及文本的功能函数。为了方便使用,在VC++中对其进行了封装,形成了GDI对象类。 所有GDI对象类的抽象基类都是CGdiObject,而所有实际使用的GDI对象则是从CGdiObject派生出来的,以下是GDI派生类的列表: CBitmap—位图,它是一种位图矩阵,每一个显示像素都对应于其中的一个或多个位。位图可以用来表示图像,也可以用来创建刷子。 CBrush—画刷,通过定义一种位图矩阵,用它可以对区域内部进行填充。 CPen—画笔,它是用来画线和绘制有形边框的。具体使用时,可以指定其颜色和宽度,也可以指定其线型,例如:实线、虚线或点线。 CFont—字体,它是一种具有某种风格和尺寸的所有字符的完整集合,常常被当作资源存于磁盘中,其中有一些还要依赖某种设备。 CPalette—调色板,它是一种颜色映射接口,允许一个应用程序在不干扰其他应用程序的前提下,充分利用输出设备的颜色绘制能力。注意:调色板一般只在颜色数为256种或更少的情况下才使用。 CRgn—区域,它是由多边形、椭圆或者二者组合形成的一种范围,可以利用它来进行填充、裁剪以及鼠标点中测试。 3.5.2 VC++绘图方法 用计算机绘图与普通的手工绘图类似,在OnDraw等函数中绘制图形时,必须首先选择好画笔和画刷等绘图工具,确定好绘图坐标及比例尺,然后根据需要选用适当的绘图函数绘出图形。因此,与绘图有关的图形程序库可以分为以下五类:绘图工具选择函数、坐标系统设置与转换函数、绘图模式与背景设置函数、绘图函数和区域填充函数。 宏代码 库存对象 宏代码 库存对象 BLACK_BRUSH 黑色画刷 NULL_BRUSH 空画刷(内部不填充) DKGRAY_BRUSH 深灰色画刷 WHITE_BRUSH 白色画刷 GRAY_BRUSH 灰色画刷 BLACK_PEN 黑色画刷 HOLLOW_BRUSH 透明窗口画刷 NULL_PEN 空画笔(什么也不画) LTGRAY_BRUSH 浅灰色画刷 WHITE_PEN 白色画笔 表3-1 画刷和画笔的颜色代码 函数原型是:virtual CGdiObject* SelectStockObject(int nIndex); nIndex是所要选入设备文本对象的库存对象代码,对于画刷和画笔,其值如表3-1所示。 例如,可以使用以下代码选择白色画笔和黑色画刷: pDC-SelectStockObject(WHITE_PEN); pDC-SelectStockObject(BLACK_BRUSH); 选择库存绘图工具 画笔风格 含义 画笔风格 含义 PS_DASH 划线,即为虚线 PS_INSIDEFRAME 在边界区域内实笔画线 PS_DASHDOT 点划线 PS_NULL 空画笔 PS_DASHDOTDOT 双点划线 PS_SOLID 实线 PS_DOT 点线 ? ? 表3-2 画笔风格与含义 函数原型为:BOOL CreatePen(int nPenStyle,int nWidth,COLORREF crColor);其中,nPenStyle为画笔风格,其值如表3-2。nWidth为画笔的宽度(逻辑单位),crColor用于制定画笔的颜色。 画笔对象初始化后,就可以调用CDC的成员函数SelectObject将画笔选入设备文本对象。对于画笔,SelectObject的原型为:CPen* SelectObject(CPen* pPen); 其中,参数pPen是指向画笔对象的指针。 定制画笔 画刷的初始化主要有以下几种: (1) 纯

文档评论(0)

2299972 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档