- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
DOS界面下通用图形编辑软件的设计_计算机论文.doc
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
利用这种数据结构可在内存中形成一个图素链表,所有操作都可以此链表为基础。
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=0i=clsi++)
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-gtElementType= c
temp-gtElement.circle.x=cx
temp-gtElement.circle.y=cy
temp-gtElement.circle.r=cr
temp-
您可能关注的文档
- (信息化教育电子绩效支持系统ITEEPSS)的设计与实现_计算机论文.doc
- .Net平台下并行工程项目规划与团队组织系统的设计与实现_计算机论文.doc
- 08-16SP4MF型捣固车操作概述_电子机械论文.doc
- 10t半沸腾锅炉烟尘高效处理技术_工程建筑论文.doc
- 1992lxm工业蒸汽锅炉的自动化控制过程与实现_工程建筑论文.doc
- 2011年中国企业计算需求展望虚拟化-客户端计算与云计算_计算机网络论文.doc
- 214线退化性多年冻土地区试验路设计_工程建筑论文.doc
- 21世纪中国医院信息化及其对策_计算机论文.doc
- 21世纪制冷空调行业绿色环保制冷剂的趋势与展望_工程建筑论文.doc
- 21世纪岩土工程发展展望_工程建筑论文.doc
- DOS真彩色模式下真彩色图像显示技术_计算机论文.doc
- DSP HPI总线与MPC8272总线接口的FPGA实现_通信学论文.doc
- DSP—数字化音频领域的未来_计算机论文.doc
- DSP与单片机通信的多种方案设计_计算机论文.doc
- E-LEARNING IN MALAYSIAWith special reference to Universiti Tun Abdul Razak(上)_计算机网络论文.doc
- E-LEARNING IN MALAYSIAWith special reference to Universiti Tun Abdul Razak(下)_计算机网络论文.doc
- Eclipse平台架构技术分析及基于RCP的应用研究_计算机论文.doc
- EDA技术及其应用_电子机械论文.doc
- EdnTop- A Portal for Education in the Post-PC Era of Wireless PDAs _计算机网络论文.doc
- EDUCATIONAL REFORM EMPOWERING STUDENTS AS THE AGENTS OF CHANGE _计算机网络论文.doc
最近下载
- 论龟兹乐舞对中原乐舞的影响及作用.doc VIP
- CCT-D-CUF斯频德闭式冷却塔样本.pdf VIP
- 比较敦煌与龟兹壁画中舞蹈艺术的空间性和动作语言特征.docx VIP
- 2025福建福州市马尾区民政局招聘社会救助协管员2人笔试模拟试题及答案解析.docx VIP
- 2025福建福州市马尾区民政局招聘社会救助协管员2人考试备考题库及答案解析.docx VIP
- 2025福建福州市马尾区民政局招聘社会救助协管员2人笔试参考题库附答案解析.docx VIP
- 2025福建福州市马尾区民政局招聘社会救助协管员2人笔试备考题库及答案解析.docx VIP
- FuTURE论坛:2020 5G毫米波技术白皮书.pdf VIP
- 私法中的人_11309198.pdf VIP
- 龟兹壁画中的乐舞研究.pdf VIP
文档评论(0)