网站大量收购独家精品文档,联系QQ:2885784924

第二章 一个简单的二维光栅图形软件包.ppt

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

第二章 一个简单的二维光栅图形软件包;2.1 用图形软件包绘图;2.1 用图形软件包绘图;2.1用图形软件包绘图;Void PutPixel(int x, int y, int color); //画点函数,color :颜色值。 Void LineCoord(int x0, int y0,int x1,int y1); Void Line (Point *pnt0, Point * pnt1); //画线函数 Void polylineCoord( int vertexCount,VertexCoordList xArray, VertexCoordList yArray); Void polyline(int vertexCount, VertexList vertices) //画折线函数。 ;Void MarkerCoord(int x, int y); Void Marker(Point *pt); //端点做标记。 Void Polygon(int VertexCount, VertexList vertices); //画多边形。 Void RectanglePoint(Point* leftBottom, Point* rightTop); //画矩形;Void CircleArc(Point *center, int radius, int startAngle,int endAngle) //画圆弧 Void EllipseArc(Rectangle *externRect, int startAngle,int endAngle) //画椭圆 ;图元属性;图元属性;填充图元及其属性;填充方式设置(控制填充图元的外观) Void SetFillStyle(enum FillStyle fillstyle) FillStyle定义如下: enum FillStyle{ SOILD, //以当前前景色均匀填充图元 BITMAP_PATTERN_OPAQUE, // 以规则排列的位图填充; BITMAP_PATTERN_TRANSPARENT, PIXMAP_ PATTERN} //以规则排列的像素图填充; 位图:二值图像 像素图:多值图像 SRGP提供位图/像素图资源表;以规则排列的位图填充 BITMAP_PATTERN_OPAQUE //不透明方式 对应位图中“1”的像素用前景色(即当前设定的颜色) 显示;对应位图中“0”的像素用背景色显示。背景色由函数 void SetBackgroundColor(int colorIndex)设定 BITMAP_PATTERN_TRANSPARENT //透明方式 对应位图中“1”的像素依然用前景色显示;对应位图 中“0”的像素,颜色保持不变。 ;保存和恢复图元的属性;字符; ? 基本原则 ? 逻辑输入设备 ? 输入方式 取样方式 事件驱动方式 ? 设置输入方式属性;交互系统设计的基本原则: 提供简单一致的交互操作序列;(menu,button…) 交互的每一阶段,清晰显示可选项; 样式简洁,选项有层次、简单; 给用户适当的反馈(highlight,光标形状…); 允许用户取消操作(Undo);基本的交互处理(续);输入方式:取样方式、事件驱动。 取样输入设备的状态,效率不高, 中断驱动??何时处理中断?增加程序设计难度 事件驱动:后台监控程序,事件队列。主动处理。 基于事件驱动方法 的程序结构: ;;;定位设备的各种反馈方式示例 p38 nmt 图2。11 Void SetLocatorMeasure(Point *position); //设置光标位置;键盘设备无反馈方式这一属性 Void SetKeyboardEchoOrigin(Point *origin) // 设置初始化时屏幕上显示输入字符串的基点 当键盘设备被激活时,缺省的状态为空串。 下面键盘状态设置函数可改变缺省状态: Void SetKeyboardMeasure(char *keyMeasure) // keyMeasure代表一个字符串;;画布(Canvas) 抽象的数据类型,用户可以在其中画图 包括一个像素图和一些控制信息 具有独立的坐标系 系统可以同时有多个画布,只有一个处于激活状态 屏幕是一个特殊的画布 绘图命令的作用对象是处于激活状态的画布 ;裁剪窗口 为什么裁剪? 内裁剪:保留窗口之内的图形 外裁剪:保留窗口之外的图形 void SetClip

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档