欧美另类日韩中文色综合,天堂va亚洲va欧美va国产,www.av在线播放,大香视频伊人精品75,奇米777888,欧美日本道免费二区三区,中文字幕亚洲综久久2021

DOS界面下通用圖形編輯軟件的設(shè)計(jì)

時(shí)間:2023-05-01 07:36:57 計(jì)算機(jī)論文 我要投稿
  • 相關(guān)推薦

DOS界面下通用圖形編輯軟件的設(shè)計(jì)

摘 要 該文介紹了一種建立在DOS界面下生成圖素文件的通用圖形編輯程序的設(shè)計(jì)方法。

DOS界面下通用圖形編輯軟件的設(shè)計(jì)

目前用作DDC的PC總線工控機(jī)(IPC)大部分工作在DOS界面上,而DOS不具有像Windows那樣美觀方便的圖形用戶接口(GUI)。生成工藝流程圖等復(fù)雜圖形若用程序設(shè)計(jì)語(yǔ)言直接編程需花費(fèi)大量精力和代碼,且不易修改。設(shè)計(jì)出數(shù)據(jù)文件小,占用內(nèi)存少的圖形編輯軟件是控制界的一個(gè)研究課題。這里介紹一種生成圖素?cái)?shù)據(jù)文件的通用圖形編輯軟件的設(shè)計(jì)方法。

一、數(shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)文件格式

由于所有的操作都基本建立在圖素的基礎(chǔ)之上,故數(shù)據(jù)結(jié)構(gòu)也以圖素為中心。以下以圓、直線、矩形、字符串為例,其它圖素類似。

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; /* 線顏色,模式,粗細(xì) */

};

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; /* 標(biāo)識(shí)元素類別 */

int ElementID; /* 元素標(biāo)識(shí)符,在接口中用來(lái)控制其屬性 */

union tagElement {

struct circle circle;

struct box box;

struct string string;

struct line line;

.

. /* 可在此說(shuō)明其它元素 */

.

}Element;

struct tagElementList *next;

}ElementList;

利用這種數(shù)據(jù)結(jié)構(gòu)可在內(nèi)存中形成一個(gè)圖素鏈表,所有操作都可以此鏈表為基礎(chǔ)。

3.定義幾個(gè)指針,以備各種操作

ElementList *List-head. *List-end,*List-temp, *List-here;

4.定義一個(gè)全局變量,記錄圖素個(gè)數(shù)

static int Elementcount=0;

圖形文件格式為:第一字節(jié)(char),表示整個(gè)圖形的背景顏色;接下來(lái)一個(gè)字(word),對(duì)應(yīng)于Elementcount,表示圖素個(gè)數(shù);后面是內(nèi)存鏈表中每個(gè)圖素的屬性值。

二、圖形編輯功能的實(shí)現(xiàn)

本軟件包含的圖形編輯功能主要有:作圖、修改、移動(dòng)、刪除、復(fù)制,下面僅舉幾例說(shuō)明實(shí)現(xiàn)的方法。

1.作圖

以圓為例,其它圖形類似。

drawcircle()

{

int i;

char s[20],c;

int cx,cy,cr;

int cls,clc,cfc,cfs;

movecursor(); /* 移動(dòng)光標(biāo),確定圓心 */

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); /*

[1] [2] [3] 

【DOS界面下通用圖形編輯軟件的設(shè)計(jì)】相關(guān)文章:

交互設(shè)計(jì)在軟件界面中的應(yīng)用04-27

DOS命令04-29

界面04-30

人機(jī)界面設(shè)計(jì)的原則04-29

網(wǎng)絡(luò)模式下的編輯流程04-26

淺議傳統(tǒng)圖形對(duì)現(xiàn)代圖形設(shè)計(jì)的影響04-29

圖形負(fù)荷下的字音匹配加工05-01

界面設(shè)計(jì)師崗位職責(zé)05-05

DOS的特點(diǎn)電腦資料11-01

圖形的旋轉(zhuǎn)教案設(shè)計(jì)通用8篇01-29