期刊VIP學術指導 符合學術規范和道德
保障品質 保證專業,沒有后顧之憂
摘要:DOS操作系統是個人計算機上的一類操作系統。從1981年直到1995年的15年間,磁盤操作系統在IBM PC 兼容機市場中占有舉足輕重的地位。文章發表在《電子游戲軟件》上,是計算機論文發表范文,供同行參考。
關鍵詞:DOS界面,圖形編輯軟件,圖形設計
磁盤操作系統是個人計算機上的一種操作系統附加繼承下來操作系統的載體。從1981年MS-DOS1.0直到1995年MS-DOS7.1的15年間,DOS做為微軟公司在個人計算機上使用的一個操作系統載體,推出了多個版本。DOS在IBM PC 兼容機市場中占有舉足輕重的地位。可以直接操縱管理硬盤的文件,以DOS的形式運行。
目前用作DDC的PC總線工控機(IPC)大部分工作在DOS界面上,而DOS不具有像Windows那樣美觀方便的圖形用戶接口(GUI)。生成工藝流程圖等復雜圖形若用程序設計語言直接編程需花費大量精力和代碼,且不易修改。設計出數據文件小,占用內存少的圖形編輯軟件是控制界的一個研究課題。這里介紹一種生成圖素數據文件的通用圖形編輯軟件的設計方法。
一、數據結構與數據文件格式
由于所有的操作都基本建立在圖素的基礎之上,故數據結構也以圖素為中心。以下以圓、直線、矩形、字符串為例,其它圖素類似。
1.定義所需圖素
二、圖形編輯功能的實現
本軟件包含的圖形編輯功能主要有:作圖、修改、移動、刪除、復制,下面僅舉幾例說明實現的方法。
2.圖形的移動、刪除、復制功能
以移動為例,首先用箭頭鍵或鼠標框取要移動的區域,區域矩形的左上,右下坐標分別為(block-x1,block-y1),(block-x2,block-y2),然后移動標識矩形到要到達的地方,確定。這樣標識矩形的終止位置與初始位置存在一個偏差,水平與垂直偏差分別為dl-x,dl-y。
接下來搜索內存圖素鏈表,確定每個圖素的外接矩形,判斷外接矩形是否在初始標識矩形內,若在,則將該圖素的坐標屬性值改變dl-x,dl-y。清除圖形區,根據新的圖素鏈表作圖。
圖形的刪除功能類似,只需將符合條件的圖素從鏈表中清除,再修改Elementcount值即可。
拷貝圖形則只需將符合條件的圖素備份一個結點,修改結點的坐標屬性值,再將該結點加入鏈表,相應增加Elementcount的值。
三、文件功能的實現
存盤時,打開文件,寫入圖形的背景顏色,寫入圖素個數Elementcount,再將內存鏈表中各圖素的屬性值依次寫入文件即可。
讀盤時,在內存中動態建立圖素鏈表,將文件中的圖素屬性值依次放入鏈表中,再根據背景顏色、圖素屬性值在屏幕上顯示圖形。
存盤過程實現如下。
savefile(char * filename)
{
FILE *fp;
int i;
List-temp=List-head;
Eid=0;
if((fp=fopen(filename,"w b"))==NULL)
{
printf ("%s", "Cant't open the file ");
exit(1);
}
fwrite(&back-color, sizeof(char),1,fp);
fwrite(&Elementcount,sizeof(int),1,fp);
for(i=0;i{ List-temp->ElementID=Eid;
fwrite(List-temp,sizeof(ElementList),1,fp);
List-temp=List-temp->next;
Eid ;
}
fclose(fp);
}
四、應用程序編程接口
應用程序編程接口主要功能是讀圖形文件并顯示,對畫面圖素進行動態刷新。這些接口均以函數形式出現,供控制應用程序調用。
1.draw-chart (char * filename)功能:讀圖形文件,在內存中建立圖素鏈表,顯示圖形。
2.change-chart(int Element-ID, int how)功能:改變圖素Element-ID的特性,怎樣改變由how決定。該接口能方便地實現圖形的動態刷新。
3.clear-chart( )功能:釋放圖素鏈表占用的內存。
4.draw ( char * filename)功能:不建立鏈表,邊讀圖形文件,邊顯示。該函數不占用內存,適用于圖素多、數據文件較大,而又不需動態刷新的圖形畫面顯示。
中國科技核心期刊網投稿須知:《電子游戲軟件》是國內著名的一家游戲雜志,半月刊,隸屬于次世代傳媒聯盟,簡稱“電軟”。始創于1994年6月,前身為《GAME集中營》,是中國第一本正式的游戲雜志。在近十年的風雨蒼黃中,一直是青少年流行文化的倡導者,一直站在游戲業發展的最前端。一貫秉持追求品質,不斷創新的態度,博得了廣大讀者的信賴與肯定。