




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1 / 5 面下通用图形编辑软件的设计 摘要该文介绍了一种建立在 目前用作 部分工作在 而 生成工艺流程图等复杂图形若用程序设计语言直接编程需花费大量精力和代码 ,且不易修改。设计出数据文件小 ,占用内存少的图形编辑软件是控制界的一个研究课题。这里介绍一种生成图素数据文件的通用图形编辑软件的设计方法。 一、数据结构与数据文件格式 由于所有的操作都基本建立 在图素的基础之上 ,故数据结构也以图素为中心。以下以圆、直线、矩形、字符串为例 ,其它图素类似。 x 定义圆 x/ y,r;/x 圆心 , 半径 x/ x 圆外围线的颜色 ,线型 x/ x 填充颜色 , 模式 x/ ; x 定 义 直 线 x/ x 线颜色 ,模式 ,粗细 x/ ; x 定义矩形 x/ ; x 定义字符串 x/ y; 0 ; . ./x/ . 2 / 5 x 标识元素类别 x/ x 元素标识符 ,在接口中用来控制其属性 x/ . ./x/ . 利用这种数据结构可在内存中形成一个图素链表 ,所有操作都可以此链表 为 基 础 。 3. 定 义 几 个 指 针 , 以 备 各 种 操作 ,记录图素个数 ; 图形文件格式为 :第一字节 (表示整个图形的背景颜色 ;接下来一个字(对应于 示图素个数 ;后面是内存链表中每个图素的属性值。 二、图形编辑功能的实现 本软件包含的图形编辑功能主要有 :作图、修改、移动、删除、复制 ,下面仅举几例说明实现的方法。 以圆为例 ,其它图形类似。 0,c; cy,;/x 移动光标 , 确 定 圆 心 x/ cx=cy=;/x 确 定 半 径 x/ x(x( cx,cy,(); 3 / 5 i=0;c; 其中 可以如下实现 : ; 除、复制功能 以移动为例 ,首先用箭头键或鼠标框取要移动 的 区 域 , 区 域 矩 形 的 左 上 , 右 下 坐 标 分 别 为(然后移动标识矩形到要到达的地方 ,确定。这样标识矩形的终止位置与初始位置存在一个偏差 ,水平与垂直偏差分别为 接下来搜索内存图素链表 ,确定每个图素的外接矩形 ,判断外接矩形是否在初始标识矩形内 ,若在 ,则将该图素的坐标属性值改变 除图形区 ,根据新的图素链表作图。 图形的删除功能类似 ,只需将符合条件的图素从链表中清除 ,再修改 即可。 拷贝图形则只需将符合条件的图素备份一个结点 ,修改结点的坐标属性值 ,再将该结点加入链表 ,相应增加 值。 以下为移动图形的代码。 x 定义的矩形 x/ 4 / 5 ;/x 选 择 要 移 动 的 块 x/ ;/x 移 动 块 x/ i=0; ;/x 清除作图 区 x/ ;/x 依据图素链表画图 x/ 其中 ,可以实现如下。 =. . . 三、文件功能的实现 存盘时 ,打开文件 ,写入图形的背景颜色 ,写入图素个数将内存链表中各图素的属性值依次写入文件即可。 读盘时 ,在内存中动态建立图素链表 ,将文件中的图素属性值依次放入链表中 ,再根据背景颜色、图素属性值在 屏 幕 上 显 示 图 形 。 存 盘 过 程 实 现 如 下 。 ; fp=w+b)= s, ); 1, 1, 5 / 5 i=0;1, ; 四、应用程序编程接口 应用程序编程接口主要功能是读图形文件并显示 ,对画面图素 进行动态刷新。这些接口均以函数形式出现 ,供控制应用程序调用。 (能 :读图形文件 , 在 内 存 中 建 立 图 素 链 表 , 显 示 图 形 。 (能 :改变图素 怎样改变由 接口能方便地实现图形的动态刷新。 ()功能 :释放图素链表占用的内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论