dos界面下通用图形编辑软件的设计

dos界面下通用图形编辑软件的设计

ID:14379758

大小:29.50 KB

页数:10页

时间:2018-07-28

dos界面下通用图形编辑软件的设计_第1页
dos界面下通用图形编辑软件的设计_第2页
dos界面下通用图形编辑软件的设计_第3页
dos界面下通用图形编辑软件的设计_第4页
dos界面下通用图形编辑软件的设计_第5页
资源描述:

《dos界面下通用图形编辑软件的设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、DOS界面下通用图形编辑软件的设计摘要该文介绍了一种建立在DOS界面下生成图素文件的通用图形编辑程序的设计方法。目前用作DDC的PC总线工控机(IPC)大部分工作在DOS界面上,而DOS不具有像Windows那样美观方便的图形用户接口(GUI)。生成工艺流程图等复杂图形若用程序设计语言直接编程需花费大量精力和代码,且不易修改。设计出数据文件小,占用内存少的图形编辑软件是控制界的一个研究课题。这里介绍一种生成图素数据文件的通用图形编辑软件的设计方法。一、数据结构与数据文件格式由于所有的操作都基本建立在图素的基础之上,故数据结构也以图素为中心。以下以圆、直线、矩形、字符串

2、为例,其它图素类似。1.定义所需图素structcircle/*定义圆*/{intx,y,r;/*圆心,半径*/charlinecolor,linestyle;/*圆外围线的颜色,线型*/charfillcolor,fillstyle;/*填充颜色,模式*/};structline/*定义直线*/{intx1,y1;intx2,y2;charlinecolor,linestyle,linethick;/*线颜色,模式,粗细*/};structbox/*定义矩形*/{intx1,y1;intx2,y2;charlinecolor,linestyle;charfillco

3、lor,fillstyle;};structstring/*定义字符串*/{intx,y;charstr[10]charbackcolor,dir;charstr-color,str-style;};../*定义其它图素*/.2.将各图素置于一条链表之中typedefstructtagElementList{charElementType;/*标识元素类别*/intElementID;/*元素标识符,在接口中用来控制其属性*/uniontagElement{structcirclecircle;structboxbox;structstringstring;struc

4、tlineline;../*可在此说明其它元素*/.}Element;structtagElementList*next;}ElementList;利用这种数据结构可在内存中形成一个图素链表,所有操作都可以此链表为基础。3.定义几个指针,以备各种操作ElementList*List-head.*List-end,*List-temp,*List-here;4.定义一个全局变量,记录图素个数staticintElementcount=0;图形文件格式为:第一字节(char),表示整个图形的背景颜色;接下来一个字(word),对应于Elementcount,表示图素个数;

5、后面是内存链表中每个图素的属性值。二、图形编辑功能的实现本软件包含的图形编辑功能主要有:作图、修改、移动、删除、复制,下面仅举几例说明实现的方法。1.作图以圆为例,其它图形类似。drawcircle(){inti;chars[20],c;intcx,cy,cr;intcls,clc,cfc,cfs;movecursor();/*移动光标,确定圆心*/cx=cursor-x;cy=cursor-y;movecursor();/*确定半径*/cr=(int)sqrt((cursor-x-cx)*(cursor-x-cx)+(cursor-y-cy)*(cursor-y-c

6、y);setcolor(WHITE);circle(cx,cy,cr);/*画圆*/cls=selectlinestyle();clc=selectcolor(“select-line-color”);setcolor(clc);for(i=0;iElementType=‘c’;temp->=cx;temp->=cy;temp->=cr;temp->=clc;temp->=cls;temp->=cfc;temp->=cfs;addtolist(temp);/*将图素加入图素链表*/}其中addtolist()可以如下实现:addtolist(ElementList*E

7、temp){if(List-head==NULL){List-head=Etemp;List-end=Etemp;}else{List-end->next=Etemp;List-end=Etemp;Etemp->next=NULL;}Elementcount++;}2.图形的移动、删除、复制功能以移动为例,首先用箭头键或鼠标框取要移动的区域,区域矩形的左上,右下坐标分别为(block-x1,block-y1),(block-x2,block-y2),然后移动标识矩形到要到达的地方,确定。这样标识矩形的终止位置与初始位置存在一个偏差,水平与垂直偏差分别

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。