




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SRGP(Simple Raster Graphics Package) 应用应用 模型模型 应用应用 程序程序 SRGPSRGP 图形图形 硬件硬件 设备设备 输出流输出流 输入流输入流 u图元的声明图元的声明 u图元的属性图元的属性 u填充图元及属性填充图元及属性 u保存和恢复图元的属性保存和恢复图元的属性 u字符字符 扫描转换扫描转换 顶点(参数)顶点(参数) 表示的图形表示的图形 用户用户 点阵表示点阵表示 的图形的图形 显示系统显示系统 ),( 00 yx ),( 11 yx ),( 33 yx ),( 22 yx ),( 00 yx),( 11 yx ),( 22 yx),( 33
2、 yx ),( ii yx ,., 210 xxx 0 p 1 p 2 p 210 ,y,yy ),(yx ,* * 4. 圆弧和椭圆弧圆弧和椭圆弧 Void CircleArc (Point *center, int radius, int startAngle, int endAngle); /画圆弧画圆弧 Void EllipseArc(Rectangle *externRect, int startAngle,int endAngle); /画椭圆画椭圆 (x3,y3) (x4,y4) 作为对比,作为对比,vc提供了画图函数提供了画图函数 画点画点 画线画线 折线折线 圆弧圆弧 椭圆椭
3、圆 圆圆 填充等填充等 坐标坐标 颜色颜色 点点颜色颜色 X1,Y1 X2,Y2 坐标坐标 点点 Point1 Point2 例:例: x1,y1x1,y1 x2,y2x2,y2 x3,y3x3,y3 x4,y4x4,y4 x3,y3x3,y3和和x4,y4x4,y4为圆弧起点终点为圆弧起点终点 x1,y1x1,y1和和x2,y2x2,y2为圆弧的矩形框,可计算半径为圆弧的矩形框,可计算半径 逆时针方向逆时针方向 例:例: ps pe x1,y1 x2,y2 x1,y1x1,y1和和x2,y2x2,y2为圆弧的矩形框,可计算半为圆弧的矩形框,可计算半 径径 例:例: 重复画基本线重复画基本线:
4、 : 2 2倍、倍、4 4倍倍 逐段定义线色号逐段定义线色号 l填充方式设置(控制填充图元的外观)填充方式设置(控制填充图元的外观) Void SetFillStyle(enum FillStyle fillstyle)/设置填充设置填充 方式的函数方式的函数 FillStyle定义如下:定义如下: enum FillStyle SOILD, /以当前前景色均匀填充图元以当前前景色均匀填充图元 BITMAP_PATTERN_OPAQUE, BITMAP_PATTERN_TRANSPARENT, / 以规以规 则排列的位图填充;则排列的位图填充; PIXMAP_ PATTERN /以规则排列的像
5、素图填以规则排列的像素图填 充;充; 位图:二值图像位图:二值图像 像素图:多值图像像素图:多值图像 SRGP提供位图提供位图/像素图资源表像素图资源表 以规则排列的位图填充以规则排列的位图填充 BITMAP_PATTERN_OPAQUE / /不透明方式,不透明方式, 对应位图中对应位图中“1 1”的像素用前景色(即当前设定的颜的像素用前景色(即当前设定的颜 色)显示;对应位图中色)显示;对应位图中“0 0”的像素用背景色显示。的像素用背景色显示。 背景色由函数背景色由函数void SetBackgroundColor(int colorIndex)设定。设定。 BITMAP_PATTERN
6、_TRANSPARENT /BITMAP_PATTERN_TRANSPARENT /透明方式,对应透明方式,对应 位图中位图中“1 1”的像素依然用前景色显示;对应位图的像素依然用前景色显示;对应位图 中中“0 0”的像素,颜色保持不变。的像素,颜色保持不变。 无论是以位图还是像素图填充图元,图元所呈现无论是以位图还是像素图填充图元,图元所呈现 的颜色总依赖于当前系统查色表的内容,因为位图的颜色总依赖于当前系统查色表的内容,因为位图/ /像像 素图中保存的仅仅是颜色的索引值。素图中保存的仅仅是颜色的索引值。 解决方法:菜单、按钮、加亮、变灰、光标变化等等解决方法:菜单、按钮、加亮、变灰、光标变
7、化等等 用于图形的输入点用于图形的输入点 滑块滑块 初值初值终值终值 对话框实现对话框实现 对话框实现 应用程序应用程序 输入操作输入操作 等等 待待 用户操作用户操作 设置输入设备的输入方式:设置输入设备的输入方式: Void SetInputMode(enum Device inputDevice, Void SetInputMode(enum Device inputDevice, enum InputMode inputMode)enum InputMode inputMode) 枚举变量枚举变量DeviceDevice与与InputModeInputMode的定义为:的定义为: en
8、um Deviceenum Device LOCATOR, /LOCATOR, /定位设备定位设备 KEYBOARD, / KEYBOARD, / 键盘设备键盘设备 ; enum InputMode enum InputMode INACTIVE, /INACTIVE, /非激活状态非激活状态 SAMPLE,SAMPLE,/取样方式取样方式 EVENT;EVENT;/事件驱动方式事件驱动方式 指定设备类型指定设备类型 指定设备方式指定设备方式 举例:设定位设备为取样方式举例:设定位设备为取样方式 SetInputMode(LOCATOR,SAMPLE);(LOCATOR,SAMPLE); 定位
9、设备:输入的信息分为定位设备:输入的信息分为3 3部分:部分: 光标当前的位置光标当前的位置 各个键的状态(各个键的状态(UPUP还是还是DOWNDOWN) 哪个键(左键还是右键)发生了状态改变?哪个键(左键还是右键)发生了状态改变? 信息获取函数信息获取函数 Void SampleLocator(LocatorMeasure, *measure); 应用程序应用程序 输入动作输入动作 队列队列 输入动作输入动作 输入动作输入动作 用户操作用户操作 基于事件驱动方法的程序结构基于事件驱动方法的程序结构: 初始化输入设备初始化输入设备; ; dodo waitEvent(event);/wait
10、Event(event);/* *等待事件发生等待事件发生* */ / switch(event)/switch(event)/* *处理事件处理事件* */ / case EVENT1: case EVENT1: procedure1; procedure1; break;break; case EVENT2: case EVENT2: procedure2; procedure2; break;break; ; while (TRUE);while (TRUE); 设置输入设备的输入方式设置输入设备的输入方式 Void SetLocatorEchoType(enum EchoType ec
11、hoType);/定位设备反馈方式的设置定位设备反馈方式的设置 echoTypeechoType取值:取值: 1.NO_ECHO 1.NO_ECHO 无反馈无反馈 2.CURSOR 2.CURSOR 光标反馈光标反馈 /SRGP /SRGP将各种形状的将各种形状的 光标存储在一张资源表中,通过调用光标存储在一张资源表中,通过调用 Void SetCursor(int cursorIndex);来选择所需光来选择所需光 标标 3.RUBBER_LINE/RUBBER_RECT 橡皮筋线橡皮筋线/ / 橡皮筋矩形,由二点确定:锚点与当前光标点。橡皮筋矩形,由二点确定:锚点与当前光标点。 锚点是固定
12、的,锚点由函数锚点是固定的,锚点由函数 void SetLocatorEchoRubberAnchor(Point *anchor) 设置。当前光标点的位置随用户的输入而变化。设置。当前光标点的位置随用户的输入而变化。 锚点锚点 当前点当前点 锚点锚点 当前点当前点 定位设备的各种反馈方式示例定位设备的各种反馈方式示例 p38 nmt p38 nmt 图图2.112.11 函数函数 Void SetLocatorMeasure(Point *position); /设置光标位置设置光标位置 2.2.6 2.2.6 设置输入设备的属性设置输入设备的属性 键盘设备无反馈方式的属性键盘设备无反馈方式
13、的属性 Void SetKeyboardEchoOrigin(Point *origin) / / 用来设置初始化时屏幕上显示输入字符串的基点。用来设置初始化时屏幕上显示输入字符串的基点。 当键盘设备被激活时,缺省的状态为空串。当键盘设备被激活时,缺省的状态为空串。 下面键盘状态设置函数可改变缺省状态:下面键盘状态设置函数可改变缺省状态: Void SetKeyboardMeasure(char *keyMeasure) / keyMeasure代表一个字符串代表一个字符串 2.2.6 2.2.6 设置输入设备的属性设置输入设备的属性 2.3 2.3 光栅操作光栅操作 2.3.1 画布画布 2.3.2 裁剪窗口裁剪窗口 2.3.3 位块拷贝位块拷贝 2.3.4 显示模式显示模式 2.3.1 画布画布 例如点取菜单的过程:例如点取菜单的过程: 1.1.把菜单将要覆盖的屏幕区域保存起来把菜单将要覆盖的屏幕区域保存起来 2.2.把系统保存的菜单拷贝到屏幕上把系统保存的菜单拷贝到屏幕上 3.3.恢复屏幕区域,把保存的象素重新拷贝到屏幕上恢复屏幕区域,把保存的象素重新拷贝到屏幕上 可用于菜单或其他象素区域可用于菜单或其他象素区域 有变化时的处理有变化时的处理 2.3.1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 某年度航天器压力控制系统市场分析及竞争策略分析报告
- 学校教育AI应用行业深度调研及发展项目商业计划书
- 水上瑜伽与水中健身课程企业制定与实施新质生产力项目商业计划书
- 媒体内容智能分析与洞察服务行业跨境出海项目商业计划书
- 电子竞技装备企业制定与实施新质生产力项目商业计划书
- 瑜伽服零售店行业深度调研及发展项目商业计划书
- 电影剧本出版行业深度调研及发展项目商业计划书
- 古建筑照明保护与研究行业跨境出海项目商业计划书
- 桥梁维护管理系统行业跨境出海项目商业计划书
- 游戏比赛赛事者行业跨境出海项目商业计划书
- 六年级孩子心理教育
- 福建省信息技术会考纲要样本
- 乡村振兴建设交易平台创业计划书
- 饼干行业swoyt分析
- 品质标杆工厂规划方案
- 五年级数学应用题练习-小数除法应用题
- 管培生轮岗总结汇报
- 检验科工作环境清洁、消毒记录表
- 神奇的塑料袋-脑洞大开的运动 教案
- 《铸造用增碳剂》
- 解读《2023年中国血脂管理指南》
评论
0/150
提交评论