



下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 c語(yǔ)言實(shí)現(xiàn)可視化人機(jī)界面的有效方法研究 孫煉摘要:c語(yǔ)言當(dāng)前最主流的結(jié)構(gòu)化程序設(shè)計(jì)語(yǔ)言,在當(dāng)前的軟件編程中用處比較廣泛,怎樣使用c語(yǔ)言發(fā)揮動(dòng)畫(huà)以及圖像輸出的功能是我們需要重點(diǎn)研究的課題內(nèi)容。本文中設(shè)置了計(jì)算機(jī)的相關(guān)圖形模式,并且構(gòu)建了相對(duì)獨(dú)立的圖形程序,探究了c語(yǔ)言輸出圖像的整個(gè)過(guò)程,并且探討了制作簡(jiǎn)單動(dòng)畫(huà)的具體方法和思路,希望為相關(guān)人士提供必要的借鑒。關(guān)鍵詞:c語(yǔ)言;人機(jī)界面;有效方法0前言c語(yǔ)言是一個(gè)具有強(qiáng)大功能的計(jì)算機(jī)編程語(yǔ)言,并且能夠進(jìn)行有效的數(shù)據(jù)處理,有著十分廣泛的應(yīng)用和實(shí)踐。一方面利用c語(yǔ)言可以制作多種系統(tǒng)軟件,另一方面利用c語(yǔ)
2、言能夠繪制動(dòng)畫(huà)、二維圖像以及三維圖像,進(jìn)而構(gòu)成人機(jī)界面。一般來(lái)說(shuō),輸出函數(shù)printf()只可以輸出特定的文本信息,沒(méi)有繪圖的功能。所以在c語(yǔ)言標(biāo)準(zhǔn)中,為了達(dá)到繪圖的目的,其標(biāo)準(zhǔn)函數(shù)庫(kù)中包含了一個(gè)功能強(qiáng)大的圖形函數(shù)庫(kù)。通過(guò)圖形模式的操作,能夠利用圖形函數(shù)制作可視化人機(jī)界面。1設(shè)置c語(yǔ)言圖形模式想要使用c語(yǔ)言的圖形繪制功能,首先需要使用一個(gè)頭文件,在其中我們可以看到許多有用的圖形繪制函數(shù)。但是這些函數(shù)并不是可以直接使用,需要先把屏幕設(shè)置成圖形模式才可以進(jìn)行。屏幕剛開(kāi)始默認(rèn)是文本模式(25行,80列字符模式),需要操作顯示卡才能繼續(xù)。這里所說(shuō)的顯示卡,其實(shí)是顯示適配器的一般程序,對(duì)于不同規(guī)格的顯示
3、適配器來(lái)說(shuō),具有各不相同的圖形分辨率以及色彩種數(shù)。在利用圖形函數(shù)開(kāi)始做圖之前,需要在graphics.h圖形函數(shù)庫(kù)中選擇一個(gè)合適的函數(shù),選擇initgraph()函數(shù),而后依據(jù)顯示適配器的具體種類和參數(shù)將其設(shè)定成特定的圖形模式。需要注意的是,在程序的最開(kāi)始需要加一個(gè)#include。但是相應(yīng)的驅(qū)動(dòng)程序路徑需要對(duì)應(yīng)正確的初始化圖形語(yǔ)句,如果沒(méi)有對(duì)應(yīng),相應(yīng)的程序就會(huì)無(wú)法找到對(duì)應(yīng)的圖形驅(qū)動(dòng)文件,也就不能在圖形模式下開(kāi)始運(yùn)行。此時(shí),在顯示器上會(huì)出現(xiàn)這樣的錯(cuò)誤提示信息。bgi error:(use initagraph)graphics not initialized以下筆者通過(guò)一個(gè)常見(jiàn)的例子來(lái)解釋這個(gè)
4、問(wèn)題:#include/*這里是圖形標(biāo)準(zhǔn)函數(shù)頭文件*/intmain()initgraph;/*圖形模式初始化/gdriver=detect;/*把相應(yīng)的圖形驅(qū)動(dòng)器設(shè)置為自動(dòng)測(cè)量*/int gdriver,gmode;/*對(duì)圖形驅(qū)動(dòng)器的相應(yīng)變量進(jìn)行定義*/getch();line(200,200,100,100);/*進(jìn)行畫(huà)線*/closegraph();/*把相應(yīng)的圖形模式關(guān)閉*/return 0:以下是對(duì)這個(gè)程序的說(shuō)明:第一點(diǎn):關(guān)于gdriver,這是個(gè)開(kāi)始要求設(shè)置的特定圖形驅(qū)動(dòng)器,相應(yīng)的gmode就是和這種驅(qū)動(dòng)器對(duì)應(yīng)的。如果把gdriver設(shè)置成detect,計(jì)算機(jī)硬件就會(huì)自動(dòng)地檢測(cè)模式
5、和圖形驅(qū)動(dòng)器,這樣的效率比較低。第二點(diǎn):在特定情況下,比如c:下有當(dāng)前目錄,c:下有bgi文件,相應(yīng)的path就可以采用絕對(duì)路徑的形式。第三點(diǎn),如果完成了圖形模式的初始化,那么可以開(kāi)始進(jìn)行做圖,在這個(gè)程序里,line(200,200,100,100)就是一個(gè)從點(diǎn)(200,200)到點(diǎn)(100,100)的直線。第四點(diǎn),在程序中使用了一個(gè)從圖形模式轉(zhuǎn)變成文本模式的函數(shù):closegraph()。2在特定的圖形模式下寫(xiě)字在特定的圖形模式中,也能夠使用一般的輸出putchar(),puts()和printf()在屏幕上輸出相應(yīng)的文本。但是在上文提到的c語(yǔ)言圖形函數(shù)中,包括具有圖形顯示模式下文本輸出功能
6、的函數(shù)outtextxy()等等。程序設(shè)計(jì)者可以使用setclor()這個(gè)函數(shù)來(lái)調(diào)節(jié)相應(yīng)的文字的具體顏色,而且用戶能夠隨意地設(shè)置文本字符的具體大小,一般來(lái)說(shuō)是通過(guò)這兩個(gè)函數(shù)來(lái)實(shí)現(xiàn)功能的:setusercharsize()/*這個(gè)函數(shù)用來(lái)定義垂直以及水平的具體放大倍數(shù)*/settextstyle()/*這個(gè)函數(shù)的功能是以一樣的倍數(shù)來(lái)放大垂直和水平方向*/3建設(shè)獨(dú)立的圖形模式利用圖形模式完成程序之后,在其它的計(jì)算機(jī)中運(yùn)行發(fā)現(xiàn)這個(gè)程序無(wú)法運(yùn)行。究其原因,是因?yàn)樵趫D形模式的設(shè)置中,沒(méi)有相應(yīng)的bgi文件(如果想要使用initgraph()這個(gè)函數(shù),那么在連接和編譯的過(guò)程中需要特定的*.bgi驅(qū)動(dòng)程序裝入
7、相應(yīng)的執(zhí)行程序中)。如果把在轉(zhuǎn)移軟件的過(guò)程中沒(méi)有附帶相應(yīng)的bgi文件,那么這個(gè)用戶就沒(méi)有辦法進(jìn)到相應(yīng)的圖形模式里。就算是把全部的*.bgi文件轉(zhuǎn)移給相應(yīng)的用戶,還是存在出現(xiàn)路徑問(wèn)題的可能性。所以在實(shí)際操作過(guò)程中,可以把整個(gè)圖形驅(qū)動(dòng)程序都置入程序里,這樣能夠完美地解決相應(yīng)的問(wèn)題。其實(shí),如果沒(méi)有驅(qū)動(dòng)程序,可以單獨(dú)使用可執(zhí)行圖形程序,具體的方法如下(在這個(gè)例子中使用的是ega vga顯示器):第一步,首先在相應(yīng)的編譯目錄里上輸入這樣的命令:egavga bgiogj使用這個(gè)bgiobj命令的目的是把egavga.bg驅(qū)動(dòng)程序轉(zhuǎn)變?yōu)槟繕?biāo)文件egavga.obj。第二步,在相應(yīng)的編譯目錄里輸入這樣的命令
8、:tlibkegavga+graphics.lib在這個(gè)命令中,目的是把相應(yīng)的egabga.obj的模塊,置入到特定的graphics.lib庫(kù)文件里。第三步,如果要使用initgraph()函數(shù),則需要加入特定的命令,目的是把相應(yīng)的egavga驅(qū)動(dòng)程序置入到特定的graphics.lib文件里。4實(shí)現(xiàn)動(dòng)畫(huà)的具體思路如果在特定的位置劃出一條紅顏色的直線,那么如果再次畫(huà)一個(gè)紅線,原本的紅線不會(huì)發(fā)生變化,還是在那里。但是如果最開(kāi)始的紅線是使用異或方式畫(huà)的,那么在畫(huà)第二條線之后,就會(huì)發(fā)現(xiàn)原本的紅線不存在了,從屏幕上消失不見(jiàn)了。可以使用這樣的方法實(shí)現(xiàn)這個(gè)過(guò)程:#include#include#include#inludemain()setcolor(blue);/把前景的顏色設(shè)置成藍(lán)色setwritemode(put-xor);/異或模式設(shè)置initgraph(&gmode,&gdriver,”);/圖形模式的初始化line(200,500,200,100);/畫(huà)出相應(yīng)的線段closegraph();/把圖形模式關(guān)閉,然后進(jìn)入到文本模式中return();在這個(gè)程序中使用了異
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中班主任工作總結(jié)2024下半年(31篇)
- DBT29-143-2021 天津市地下鐵道基坑工程施工技術(shù)規(guī)程
- 2025年電動(dòng)工具結(jié)構(gòu)件項(xiàng)目投資可行性研究分析報(bào)告
- 2024-2025學(xué)年高中化學(xué)第一章第二節(jié)原子結(jié)構(gòu)與元素的性質(zhì)第2課時(shí)元素周期律一教案新人教版選修3
- 2024-2025學(xué)年新教材高中化學(xué)第一章章末整合提升教案新人教版必修第一冊(cè)
- 2024-2025學(xué)年高中政治課時(shí)分層作業(yè)5消費(fèi)及其類型含解析新人教版必修1
- 2025年蒸餾單甘酯項(xiàng)目可行性研究報(bào)告
- 2025年4-氯甲基哪酮項(xiàng)目可行性研究報(bào)告
- 2024-2025學(xué)年高中物理第三章牛頓運(yùn)動(dòng)定律第4節(jié)牛頓第三定律課時(shí)作業(yè)含解析教科版必修1
- 2025年雙頭機(jī)械器研磨機(jī)項(xiàng)目投資可行性研究分析報(bào)告-20241226-203722
- 2025年度光伏電站光伏組件回收處理合同示范文本
- 2025年春季少先隊(duì)工作計(jì)劃及安排表(附:少先隊(duì)每月工作安排表)
- 中央2025年公安部部分直屬事業(yè)單位招聘84人筆試歷年參考題庫(kù)附帶答案詳解
- 《教育強(qiáng)國(guó)建設(shè)規(guī)劃綱要(2024-2035年)》全文
- 2025年春新人教PEP版英語(yǔ)三年級(jí)下冊(cè)全冊(cè)教學(xué)課件
- 體育老師籃球說(shuō)課
- 浙江省金華市義烏市2024年中考語(yǔ)文二模試卷含答案
- GB/T 45015-2024鈦石膏綜合利用技術(shù)規(guī)范
- 2025-2025學(xué)年度第二學(xué)期仁愛(ài)版七年級(jí)英語(yǔ)下冊(cè)教學(xué)計(jì)劃
- 車站信號(hào)自動(dòng)控制(第二版) 課件 -2-室外設(shè)備接口電路
- 國(guó)開(kāi)電大、普通本科、成考畢業(yè)論文-《電子商務(wù)對(duì)傳統(tǒng)零售業(yè)的影響及其對(duì)策》(電子商務(wù)專業(yè))
評(píng)論
0/150
提交評(píng)論