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


    DOS界面通图形编辑软件设计
    摘 该文介绍种建立DOS界面生成图素文件通图形编辑程序设计方法

             目前作DDCPC总线工控机(IPC)部分工作DOS界面DOS具Windows样美观方便图形户接口(GUI)

            生成工艺流程图等复杂图形程序设计语言直接编程需花费量精力代码易修改

            设计出数文件占存少图形编辑软件控制界研究课题

            里介绍种生成图素数文件通图形编辑软件设计方法

             数结构数文件格式 操作基建立图素基础数结构图素中心

            圆直线矩形字符串例图素类似

             1定义需图素 struct circle *定义圆 * { int xyr * 圆心半径 * char linecolorlinestyle * 圆外围线颜色线型 * char fillcolorfillstyle * 填充颜色模式 * } struct line * 定义直线 * { int x1y1 int x2y2 char linecolorlinestylelinethick * 线颜色模式粗细 * } struct box * 定义矩形 * { int x1y1 int x2y2 char linecolorlinestyle char fillcolorfillstyle } struct string * 定义字符串 * { int xy char str[10] char backcolordir char strcolorstrstyle } * 定义图素 * 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 利种数结构存中形成图素链表操作链表基础

             3定义指针备种操作 ElementList *Listhead *Listend*Listtemp *Listhere 4定义全局变量记录图素数 static int Elementcount0 图形文件格式第字节(char)表示整图形背景颜色接字(word)应Elementcount表示图素数面存链表中图素属性值

             二图形编辑功实现 软件包含图形编辑功作图修改移动删复制面仅举例说明实现方法


             1作图 圆例图形类似

             drawcircle() { int i char s[20]c int cxcycr int clsclccfccfs movecursor() * 移动光标确定圆心 * cxcursorx cycursory movecursor() * 确定半径 * cr(int)sqrt((cursorxcx)*(cursorxcx) (cursorycy)*(cursorycy) setcolor(WHITE) circle (cxcycr) * 画圆 * clsselectlinestyle() clcselectcolor (selectlinecolor) setcolor(clc) for(i0iElementType c temp>Elementcirclexcx temp>Elementcircleycy temp>Elementcirclercr temp>Elementcirclelcolorclc temp>Elementcirclelstylecls temp>Elementcirclefcolorcfc temp>Elementcirclefstylecfs addtolist(temp) * 图素加入图素链表 * } 中 addtolist ()实现 addtolist (ElementList *Etemp) { if(ListheadNULL) { ListheadEtemp ListendEtemp } else { Listend>nextEtemp ListendEtemp Etemp>nextNULL } Elementcount } 2图形移动删复制功 移动例首先箭头键鼠标框取移动区域区域矩形左右坐标分(blockx1blocky1)(blockx2blocky2)然移动标识矩形达方确定

            样标识矩形终止位置初始位置存偏差水垂直偏差分dlxdly

             接搜索存图素链表确定图素外接矩形判断外接矩形否初始标识矩形该图素坐标属性值改变dlxdly

            清图形区根新图素链表作图

             图形删功类似需符合条件图素链表中清修改Elementcount值

             拷贝图形需符合条件图素备份结点修改结点坐标属性值该结点加入链表相应增加Elementcount值

             移动图形代码

             fnMove () { Rect rect * 定义矩形 * int i selectblock () * 选择移动块 * moveblock () * 移动块 * ListtempListhead for (i0inext } clearscreeen () * 清作图区 * drawlink () * 图素链表画图 * } 中change ( )实现

             change(ElementList *Ctemp int dlxint dly) { switch (Ctemp>ElementType) { case c Ctemp>Elementcirclex dlx Ctemp>Elementcircley dly break case b Ctemp>Elementboxx1 dlx Ctemp>Elementboxx2 dlx Ctemp>Elementboxy1 dly Ctemp>Elementboxy2 dly break case l Ctemp>Elementlinex1 dlx Ctemp>Elementliney1 dly Ctemp>Elementlinex2 dlx Ctemp>Elementliney2 dly break case s Ctemp>Elementstringx dlx Ctemp>Elementstringy dly break } }
    三文件功实现 存盘时开文件写入图形背景颜色写入图素数Elementcount存链表中图素属性值次写入文件

             读盘时存中动态建立图素链表文件中图素属性值次放入链表中根背景颜色图素属性值屏幕显示图形

             存盘程实现

             savefile(char * filename) { FILE *fp int i ListtempListhead Eid0 if((fpfopen(filenamew b))NULL) { printf (s Cantt open the file ) exit(1) } fwrite(&backcolor sizeof(char)1fp) fwrite(&Elementcountsizeof(int)1fp) for(i0iElementIDEid fwrite(Listtempsizeof(ElementList)1fp) ListtempListtemp>next Eid } fclose(fp) } 四应程序编程接口 应程序编程接口功读图形文件显示画面图素进行动态刷新

            接口均函数形式出现供控制应程序调

             1drawchart (char * filename)功读图形文件存中建立图素链表显示图形

             2changechart(int ElementID int how)功改变图素ElementID特性样改变how决定

            该接口方便实现图形动态刷新

             3clearchart( )功释放图素链表占存

             4draw ( char * filename)功建立链表边读图形文件边显示

            该函数占存适图素数文件较需动态刷新图形画面显示

             作者:汪建 陆志
    文档香网(httpswwwxiangdangnet)户传

    《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
    该内容是文档的文本内容,更好的格式请下载文档

    下载文档到电脑,查找使用更方便

    文档的实际排版效果,会与网站的显示效果略有不同!!

    需要 2 积分 [ 获取积分 ]

    下载文档

    相关文档

    代码和界面设计

    摘   要 随着现代计算机科学的发展,网络已经越来越普及,如今网络已经成为每个人生活的一部分,同时网络也提供了一种很好的信息交换平台,而个人主页是一个可以在网络上展示个人信息的方便手...

    2年前   
    495    0

    《UI界面设计》教案

    教 案课程名称:UI界面设计授课教师:制订时间:UI界面设计第一章 UI综述课 题:UI综述授课教师:教学目标:通过本章学习使学生了解UI在中国的发展,以及UI的是什么。教学重点:掌握...

    6个月前   
    166    0

    用户界面设计报告

       用户界面设计报告 来自:http://www.chinaspis.com 作者:林锐 电子工业出版社出版发行 { 项目名称 } 用户界面设计报告 文件状态: [√] ...

    15年前   
    14570    0

    UI设计规范(流程、界面)

    UI设计(流程/界面)规范一:UI设计基本概念与流程1.1 目的规范公司UI设计流程,使UI设计师参与到产品设计整个环节中来,对产品的易用性进行全流程负责,使UI设计的流程规范化,保证UI设计...

    3年前   
    646    0

    《编辑文档》教学设计

    《编辑文档》教学设计 【教学目标与要求】 1.  会用一种方法打开文档。 2. 掌握文字复制、粘贴的方法。 3. 掌握文字查找和替换的方法。 4. 培养学...

    5年前   
    1159    0

    《安装软件》教学设计

    一、教材分析本课选自苏教版《小学信息技术(上册)》第23课第二节。安装使用共享软件是学生利用网络资源的一项重要内容,同时也对经后日常管理和维护电脑软件起到了铺垫作用。因此本课的重点、也是本册教材...

    2年前   
    475    0

    《编辑数据》教学设计「与」《图表的编辑》教学设计

    《编辑数据》教学设计【与】《图表的编辑》教学设计 《编辑数据》教学设计 一、教学目标 1、会使用“复制”、“粘贴”按钮和菜单。 2、懂得修改并清除Excel表格中的数据...

    5年前   
    1407    0

    《按图形形状分类》活动设计

    活动目标:能感知和发现常见几何图形的基本特征,并能进行分类。活动准备:1、经验准备:幼儿能够辨认图形,正方形、三角形、长方形。

    10个月前   
    170    0

    《轴对称图形》教学设计

    1、联系生活中的具体物体,使学生初步体会生活中的对称现象,能在实物和平面图形中识别轴对称图形,能用一些方法作出轴对称图形。2、通过观察、操作活动,培养学生探索与动手操作的能力。3、使学生在认识...

    4年前   
    1230    0

    《认识图形二》教学设计 1

     《认识图形二》教学设计 教学目标:知识与能力目标: 直观认识长方形、正方形、平行四边形、圆和三角形并能辨认。过程和方法目标: 通过画、摸、找图形...

    2年前   
    945    0

    最新《轴对称图形》教学设计

    最新《轴对称图形》教学设计一、设计思想 找准学生学习新知的“最近发展区”,在大背景下认识轴对称图形。同时加强直观教学,降低认知难度。学生自己动手实践,加深对轴对称图形的感知。在本节课的教...

    2年前   
    652    0

    网站界面设计中十二种基本版面类型

    网站界面设计中十二种基本版面类型一、骨骼型 骨骼型是一种规范的理性的分割方法。常见的骨骼有竖向通栏、双栏、三栏、四栏和横向通栏、双栏、三栏和四栏等。一般以竖向分栏为多。在图片和文字的编排上 则...

    9年前   
    658    0

    基于客户体验的APP界面设计研究

    摘要:文章通过用户体验的现状来研究APP的设计,对导航APP的现状,用户体验的重要性,为主流用户设计APP几个方面来谈该APP对用户体验的理解,APP 界面设计问题,从用户体验视角出发,研究了...

    8个月前   
    198    0

    alibaba(中国)用户界面指南——活动推广设计指南

    版本号文件名称作者备注Y1.0活动推广设计指南冯颖慧社区发展部活动推广设计指南推广设计需大气,简洁而精致,从形式和色彩上要有亲和力,能够让用户更容易接近…色彩 每个推广应有一个鲜明的主体色彩,...

    11年前   
    674    0

    基于STM32多功能播放器的应用界面设计

    基于STM32多功能播放器的应用界面设计中文题目摘 要随着全球经济的不断增长和移动通信技术的不断发展,数字媒体设备也不断的在进步发展。人们可以使用他们的智能手机来更好地丰富他们的生活。手机应...

    2年前   
    442    0

    静态网页界面设计毕业论文

     毕 业 论 文(设计) 题 目 泾县蜂产品网站界面的设计与制作 指导老师 专业班级 ...

    5年前   
    1278    0

    UI界面设计服务委托合同范本

    本合同由以下当事人订立,并于 ______年____月 ____日签订:甲方:_______________乙方:_______________依据《中华人民共和国合同法》的规定,合同双方就甲方...

    3年前   
    558    0

    c++课程设计及图书管理系统(窗口界面)

    C++课程设计课程设计系部:计算机应用技术系专业:计算机应用技术班级学号: 姓名: 一、系统功能分析: 图书...

    3年前   
    585    0

    软件课程设计心得

    软件课程设计心得第一篇:软件课程设计心得软件工程课程设计课程设想心得体味,这也激起了我尔后勤奋进修的乐趣,我想这将对我以后的进修发作主动的影响。其次,此次课程设想让我充实熟悉到团队协作的主要性...

    10年前   
    700    0

    软件课程设计心得

    软件课程设计心得  软件工程课程设计课程设想心得体味,这也激起了我尔后勤奋进修的乐趣,我想这将对我以后的进修发作主动的影响。其次,此次课程设想让我充实熟悉到团队协作的主要性,只要合作协作才干保...

    11年前   
    986    0