| 网站首页 | 范文 | 演讲致词 | 汇报体会 | 总结报告 | 公文方案 | 领导讲话 | 党建工会 | 论文 | 文档 | 书信 | 
您现在的位置: 范文大全网 >> 论文 >> 计算机论文 >> 正文 用户登录 新用户注册
DOS界面下通用图形编辑软件的设计           ★★★
DOS界面下通用图形编辑软件的设计
摘 要 该文介绍了一种建立在dos界面下生成图素文件的通用图形编辑程序的设计方法。 目前用作ddc的pc总线工控机(ipc)大部分工作在dos界面上,而dos不具有像windows那样美观方便的图形用户接口(gui)。生成工艺流程图等复杂图形若用程序设计语言直接编程需花费大量精力和代码,且不易修改。设计出数据文件小,占用内存少的图形编辑软件是控制界的一个研究课题。这里介绍一种生成图素数据文件的通用图形编辑软件的设计方法。 一、数据结构与数据文件格式 由于所有的操作都基本建立在图素的基础之上,故数据结构也以图素为中心。以下以圆、直线、矩形、字符串为例,其它图素类似。 1.定义所需图素 struct circle /*定义圆 */ { int x,y,r; /* 圆心,半径 */ char linecolor,linestyle; /* 圆外围线的颜色,线型 */ char fillcolor,fillstyle; /* 填充颜色,模式 */ }; struct line /* 定义直线 */ { int x1,y1; int x2,y2; char linecolor,linestyle,linethick; /* 线颜色,模式,粗细 */ }; struct box /* 定义矩形 */ { int x1,y1; int x2,y2; char linecolor,linestyle; char fillcolor,fillstyle; }; struct string /* 定义字符串 */ { int x,y; char str[10] char backcolor,dir; char str-color,str-style; }; . . /* 定义其它图素 */ . 2.将各图素置于一条链表之中 typedef struct tagelementlist { char elementtype; /* 标识元素类别 */ int elementid; /* 元素标识符,在接口中用来控制其属性 */ union tagelement { struct circle circle; struct box box; struct string string; struct line line; . . /* 可在此说明其它元素 */ . }element; struct tagelementlist *next; }elementlist; 利用这种数据结构可在内存中形成一个图素链表,所有操作都可以此链表为基础。loCalHost 3.定义几个指针,以备各种操作 elementlist *list-head. *list-end,*list-temp, *list-here; 4.定义一个全局变量,记录图素个数 static int elementcount=0; 图形文件格式为:第一字节(char),表示整个图形的背景颜色;接下来一个字(word),对应于elementcount,表示图素个数;后面是内存链表中每个图素的属性值。 二、图形编辑功能的实现 本软件包含的图形编辑功能主要有:作图、修改、移动、删除、复制,下面仅举几例说明实现的方法。 1.作图 以圆为例,其它图形类似。 drawcircle() { int i; char s[20],c; int cx,cy,cr; int cls,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-cy); setcolor(white); circle (cx,cy,cr); /* 画圆 */ cls=selectlinestyle(); clc=selectcolor (select-line-color); setcolor(clc); for(i=0;i<=cls;i++) circle(cx,cy,cr-i); cfs=selectfillstyle(); cfc=selectcolor(set-fill-color); setfillstyle(cfs.cfc); floodfill(cx,cy,clc); /* 填充 */ temp(elementlist *) malloc(sizeof(elementlist)); temp->elementtype= c; temp->element.circle.x=cx; temp->element.circle.y=cy; temp->element.circle.r=cr; temp->element.circle.lcolor=clc; temp->element.circle.lstyle=cls; temp->element.circle.fcolor=cfc; temp->element.circle.fstyle=cfs; addtolist(temp); /* 将图素加入图素链表 */ } 其中 addtolist ()可以如下实现: addtolist (elementlist *etemp) { 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-y

[1] [2] 下一页

  • 上一个论文:

  • 下一个论文:


  • 看了《DOS界面下通用图形编辑软件的设计》的网友还看了:
    [免费范文]LabWindows/CVI的应用特点
    [免费范文]基于RRAS与虚拟专用网技术在Windows中的实现
    [今日更新]Windows8是微软的翻身之战
    [今日更新]Windows8 LOGO发布,经典Windows LOGO回顾
    [今日更新]《Windows XP》学习中的几种任务的创设
    [今日更新]浅谈单机Windows操作系统的安装方法
    [今日更新]Linux与Windows的安全性能比较
    [今日更新]英文寓言The Shadow of the Leader
    [今日更新]ETOS,毫不逊色的国产操作系统
    [今日更新]让Windows操作系统实现自动化操作

    计算机论文
    普通论文用Action script动作脚本制作fla
    普通论文EC、ERP、CRM集成初探
    普通论文修井作业现场3G网络视频监控系统
    普通论文浅析关于RSA肋数字签召算法肋设计
    普通论文浅谈高校网络化就业指导工作中的
    普通论文浅谈报告书数据表编写及排版中的
    普通论文校园网安全探讨
    普通论文浅析局域网计算机的网络维护
    普通论文浅析AUTONOMIA作为一种重要的自主
    普通论文深入分析ARP协议的理论与实践
    普通论文论软件项目管理的现状分析和对策
    普通论文试论计算机辅助审计在税收征管审
    论文
    普通论文[企业管理]浅议注册会计师法律责任
    普通论文[今日更新]2011年春节新年祝福短信
    普通论文[今日更新]《呼啸山庄》的凄绝之爱
    普通论文[今日更新]对双语类学生汉语作文写
    普通论文[法律论文]浅谈美国有限合伙法中合
    普通论文[免费范文]学院工会工作报告
    普通论文[今日更新]我觉得您怎么看怎么像我
    普通论文[工程建筑]浅谈高速公路路基填筑监
    范文大全
    普通范文[范文大全]乡镇人大职能建设论文
    普通范文[范文大全]居民小组新农村建设状况
    普通范文[范文大全]县公路交通防汛工作汇报
    普通范文[范文大全]元旦黑板报、手抄报素材
    普通范文[范文大全]在第三次全团加强基层组
    普通范文[科学发展观]报社科学发展观活动学习
    普通范文[范文大全]财政科学化精细化管理经
    普通范文[范文大全]项目开工剪彩致辞
    演讲致词
    普通演讲[会议发言稿]在全市生猪产业工作会上的
    普通演讲[节日祝福语]2009圣诞节、元旦、新年祝
    普通演讲[竞聘演讲稿]电力局经营部副部长竞聘演
    普通演讲[会议发言稿]五四青年节青年才艺和技能
    普通演讲[节日祝福语]2010年国庆节给领导的祝福
    普通演讲[庆典致辞]在***县税务学会成立大会上
    工作范文
    普通党建工会[政府政务]县领导在全县土地三项整治
    普通公文方案[申报材料]2007年教师个人工作总结(
    普通总结[工作总结]09年民航安检个人年终工作
    普通总结[工作总结]电影放映师个人工作总结
    普通汇报体会[先进事迹材料]党员先锋岗先进事迹材料
    普通公文方案[公文写作]韩国企业文化*:员工关系决
    普通汇报体会[心得体会]大学生学习十八大感想
    普通公文方案[公文写作]2007年教育局**述职报告
    普通公文方案[活动方案]粮库安全工作管理责任书
    普通总结[工作计划]某市2010年农业农村工作要
    普通总结[个人总结]继续教育培训个人总结
    普通公文方案[公文写作]2007年农业和农村经济的基