




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、軟件封面絕技表現(xiàn)的語(yǔ)言實(shí)現(xiàn)軟件體例職員都盼望本身的軟件能有一個(gè)標(biāo)致的封面,假設(shè)能將圖形動(dòng)畫(huà)技能應(yīng)用到封面方案中,無(wú)疑會(huì)使封面越發(fā)美不雅奪目,為應(yīng)用軟件錦上添花。本文提供了一種封面方案技能,能模擬攝像機(jī)推拉鏡頭的結(jié)果,一推一拉,極具動(dòng)態(tài)。我們知道,盤(pán)算機(jī)圖形處置懲罰的數(shù)據(jù)量非常大,要求的速率也很快。因此每每將圖形處置懲罰軟件固化成硬卡(如2.13漢字體系的神筆ad卡),有了圖形處置懲罰卡,對(duì)圖形應(yīng)用的編程相對(duì)要輕易些,然而,由于資金等題目,大多數(shù)的p用戶都不具備此裝備,豈非說(shuō)就只能望“卡興嘆了么?答復(fù)固然是否認(rèn)的,本文給出的就是一種純軟件方法的圖形動(dòng)畫(huà)技能。它不要求分外的裝備,只要有ega/vg
2、a適配器即可。為實(shí)現(xiàn)圖形的動(dòng)畫(huà)結(jié)果,比方實(shí)現(xiàn)軟件封面漢字標(biāo)題的推拉鏡頭結(jié)果,只要將一幅幅差異巨細(xì)的漢字畫(huà)面在很短的時(shí)間內(nèi)依次表如今屏幕上即可。這里涉及到一個(gè)題目,那就是在表現(xiàn)下一個(gè)畫(huà)面之前先要清屏,然后再寫(xiě)下一個(gè)畫(huà)面。無(wú)論二者的速率多快,都將影響動(dòng)畫(huà)結(jié)果,用戶能感覺(jué)到寫(xiě)屏和清屏的歷程。這將焚琴煮鶴。本文接納“幕后構(gòu)造的要領(lǐng)辦理了這一題目。在ega/vga的10h形式下,視頻緩沖區(qū)被分成二頁(yè),一個(gè)頁(yè)為當(dāng)前表現(xiàn)頁(yè),其內(nèi)容即為屏幕上表現(xiàn)的內(nèi)容;一個(gè)為輸出運(yùn)動(dòng)頁(yè),全部的視頻輸出都針對(duì)此頁(yè),它可以是當(dāng)前表現(xiàn)頁(yè),也可以不是。在turb中提供了兩個(gè)函數(shù),setativepage和setvisualpage別
3、離完成設(shè)置圖形輸出運(yùn)動(dòng)頁(yè)和設(shè)置圖形可見(jiàn)頁(yè)。假設(shè)我們將輸出運(yùn)動(dòng)頁(yè)設(shè)為非當(dāng)前表現(xiàn)頁(yè),將一些不想讓用戶看到的處置懲罰歷程放到運(yùn)動(dòng)頁(yè)這一“幕后行止置懲罰。然后切換當(dāng)前表現(xiàn)頁(yè)和運(yùn)動(dòng)輸出頁(yè),那么用戶看到的就是我們想讓其看到的內(nèi)容了。為實(shí)現(xiàn)漢字標(biāo)題的推拉鏡頭結(jié)果,必要在屏幕上表現(xiàn)差異巨細(xì)的漢字,很多漢字體系都提供了漢字的放大成效,但一那么必要漢字體系的支持,且有特別的操縱下令,在語(yǔ)言中不易調(diào)用;二那么其放大和縮小的級(jí)差皆為整數(shù)倍,不克不及表現(xiàn)遲鈍變革的歷程。以是筆者體例了一個(gè)西文狀態(tài)下的漢字放大和縮小的函數(shù),可用來(lái)完成漢字的恣意放大和縮小(比方0.2倍)。同時(shí),由于無(wú)須裝載漢字體系,因此可節(jié)流大量的內(nèi)存。有
4、了差異巨細(xì)的漢字,只要在短時(shí)間內(nèi)將之依次表如今屏幕上,就能產(chǎn)生動(dòng)畫(huà)結(jié)果。由于漢字的輸出是接納在屏幕上畫(huà)點(diǎn)的要領(lǐng),以是速率很慢,簡(jiǎn)直讓人無(wú)法忍受(別的的圖形輸出也存在這個(gè)題目)。最好是將圖形整個(gè)存儲(chǔ),以便回顯時(shí)得到較快的速率。語(yǔ)言中有兩個(gè)函數(shù)getiage和putiage能完成此成效,其相應(yīng)速率黑白??斓?。但是由于這兩個(gè)函數(shù)都是將圖像保存在內(nèi)存中,而圖像的信息量每每很大,這就是說(shuō)只能保存有限的圖像,不克不及滿意我們的要求。筆者在這里接納了用文件來(lái)存儲(chǔ)圖像,打破了內(nèi)存的限定,從理論上講可以存儲(chǔ)無(wú)窮大。akefae步伐用來(lái)產(chǎn)生封面,它創(chuàng)立兩個(gè)文件:pi為二進(jìn)制圖像文件,保存一幅幅圖像,textpi為
5、一幫助文件,保存每一幅圖像的長(zhǎng)度。dispfae用來(lái)表現(xiàn)封面,將pi中的內(nèi)容依次讀到內(nèi)存,用putiage函數(shù)寫(xiě)回屏幕上。dispfae完成封面表現(xiàn)的速率很快,假設(shè)將pi和textpi放在假造盤(pán)中,那么結(jié)果就更好了。必要說(shuō)明的是,只管接納用文件來(lái)存儲(chǔ)圖像可以不受內(nèi)存空間的限定,但由于getiage和putiage函數(shù)現(xiàn)將圖像放在內(nèi)存中,假設(shè)圖像很大,占用內(nèi)存太多時(shí),步伐將會(huì)產(chǎn)生不成意料的結(jié)果。以是在存儲(chǔ)較大的圖像時(shí),應(yīng)接納分塊存儲(chǔ),再分塊會(huì)顯的要領(lǐng)。一樣平常來(lái)說(shuō)一塊以不凌駕一屏的三分之一(639*120)為好。本文僅提供一個(gè)簡(jiǎn)樸的例子,用akefae創(chuàng)立pi和textpi之后,實(shí)行dispfa
6、e步伐,可在屏幕上看到藍(lán)地紅字的“漢字絕技表現(xiàn)幾個(gè)字由大到小漸漸推遠(yuǎn),再由小到大漸漸拉近,末了定于屏幕中心。參照本文,加以擴(kuò)大和美滿,信賴不難編出標(biāo)致、奪目的動(dòng)畫(huà)封面。本步伐的運(yùn)行情況為turb2.0,ega/vga表現(xiàn)器。附:akefae.,jputhz和dispfae./*jputhz.*/*調(diào)用格式:hzdisp(x列,y行,橫擴(kuò)倍數(shù),縱擴(kuò)倍數(shù),顏色,要表現(xiàn)的漢字)*/#inludestdi.h#inludegraphis.h#inludestring.h#inludestdlib.hvidhzdisp(x,y,x-rate,y-rate,lr,string)unsignedintx,y
7、;flatx-rate,y-rate;intlr;harstring;file*fp;registerintn=0,i,j,k;registerintx1,y1;hardt73;harse1,se2;unsignedlngindex;fp=fpen(:213hzk24s,rb);if(fp=null)printf(antpenhzkn);exit(1);hile(*string)n+;se1=string-160;se2=(string+1)-160;index=(se1-16)94+se2-1;index=72;if(fseek(fp,index,0)restrertde();printf(
8、fileseekerrr!n);flse(fp);exit(1);if(fread(dt,1,72,fp)!=72)string+;ntinue;string+;string+;fr(i=0;i24;i+)fr(j=0;j3;j+)fr(k=0;k8;k+)if(dti3+j(7-k)1)x1=x-rate(i+25n);y1=y-rate(j8+k);if(x-rate=1)(y-rate=1)putpixel(x1+x,y1+y,lr);elsefillellipse(x1+x,y1+y,x-rate,y-rate);flse(fp);/#inludejputhz.filefp1,text
9、;/savesreen(intx0,inty0,intx1,inty1)unsignedintsize;harbufs;unsignedintpilng;intss;ss=sizef(unsignedint);pilng=(unsignedint)all(ss);size=iagesize(x0,y0,x1,y1);pilng=size;frite(pilng,ss,1,text);bufs=(har)all(size);if(bufs=null)puts(eryallfail!/n);geth();return(0);getiage(x0,y0,x1,y1,bufs);if(frite(bu
10、fs,size,1,fp1)!=1)puts(fritefall);return(0);free(bufs);/ain()intdrive=detet,de,i;intdx,dy;flatxr=2.5,yr=2.5;haraa=漢字絕技表現(xiàn)/if(fp1=fpen(e:pi,+b)=null)printf(anntpenfilepin);exit(1);if(text=fpen(e:textpi,+b)=null)printf(anntpenfiletextpin);exit(1);initgraph(drive,de,d:t);setbklr(blue);leardevie();fr(i=1
11、0,i1,i-)dx=250-i20;dy=150-5i;leardevie();hzdisp(dx,dy,xr,yr,12,aa);savesreen(dx,dy,dx+200 xr,dy+24yr);xr-=0.25;yr-=0.25;geth();flse(fp1);flse(text);lsegraph();/#inludestdi.h#inludegraphis.hfilefp1,text;/restresreen(intx0,inty0,unsignedintlength)harbufs;bufs=(har)all(length);if(bufs=null)puts(allfail
12、);exit(1);fread(bufs,length,1,fp1);putiage(x0,y0,bufs,py-put);free(bufs);/ain()intdrive=detet,de,i,j;lngkeep=0;intdx,dy;unsignedintaa10;unsignedintab;ab=aa;if(fp1=fpen(e:pi,rb)=null)printf(anntpenfilepin);exit(1);reind(fp1);if(text=fpen(e:textpi,rb)=null)printf(anntpenfiletextpin);exit(1);reind(text
13、);ab+;fr(i=0;i9;i+)fread(ab+,sizef(unsignedint),1,text);initgraph(drive,de,d:t);setbklr(blue);setlr(12);setfillstyle(slid-fill,12);fr(i=9;i1;i-)setvisualpage(0);setativepage(1);leardevie();restresreen(40+(10-i)20,100+5(10-i),aa10-i);i-;setvisualpage(1);setativepage(0);leardevie();restresreen(40+(10-i)20,100+5(10-i),aa10-i);fr(i=9;i0;i-)setvisualpage(0);setativepage(1);leardevie();fr(j=1;ji;j+)keep+=aaj;fseek(fp1,keep,seek-set)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小學(xué)科技創(chuàng)新培訓(xùn)
- 肺結(jié)核合并心力衰竭的護(hù)理
- 語(yǔ)音廳新人培訓(xùn):從零開(kāi)始到主播之路
- 幼兒健康領(lǐng)域安全教育
- 整體護(hù)理查房標(biāo)準(zhǔn)化操作流程
- 造口護(hù)理查房
- 腫瘤住院患者的心理護(hù)理
- 中風(fēng)病人發(fā)燒護(hù)理常規(guī)
- 銷售業(yè)績(jī)培訓(xùn)
- 職業(yè)健康體檢質(zhì)量管理
- 《心血管病介入治療新技術(shù)》課件
- 風(fēng)力發(fā)電運(yùn)維值班員(技師)職業(yè)技能鑒定考試題(附答案)
- 物業(yè)管理定價(jià)策略與實(shí)施路徑
- 基于機(jī)器學(xué)習(xí)的網(wǎng)絡(luò)攻擊行為模式識(shí)別-洞察闡釋
- 出國(guó)培訓(xùn)考試題庫(kù)及答案
- 《腎動(dòng)脈解剖》課件
- 2024年湖南益陽(yáng)事業(yè)單位招聘考試真題答案解析
- 國(guó)家開(kāi)放大學(xué)《公共部門人力資源管理》形考任務(wù)1-4答案
- 寧德市霞浦縣2025年六年級(jí)下學(xué)期小升初數(shù)學(xué)考前押題卷含解析
- 汽車電泳工藝培訓(xùn)
- 2024年陜西省中職高考對(duì)口升學(xué)財(cái)經(jīng)商貿(mào)大類真題卷附參考答案
評(píng)論
0/150
提交評(píng)論