版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、在TVGA上實現(xiàn)全屏幕動畫首先設(shè)置TVGA卡使其工作在0X5d方式下,屏幕分辨率是640480256色。然后重新構(gòu)造調(diào)色板(RemapPalette(),使其適于顯示256灰階的圖像。由于TVGA卡的顏色寄存器使用18位存儲模式,即R、G、B分量各占6位,而要顯示灰度圖像R、G、B分量必須賦予相同的值,所以就只能顯示區(qū)分26=64灰階的圖像。不過,實驗表明人眼已無法區(qū)分64灰階與256灰階圖像的差別。因此,在構(gòu)造調(diào)色板時,03索引值對應(yīng)的R、G、B分量值都為0,47索引值對應(yīng)的R、G、B分量值都為1,依次類推,這樣就可以正確顯示一幅256灰階的圖像。以下是動畫播放序列運動圖像完整的源代碼(AV
2、D.C)。為連續(xù)顯示一序列圖像,先將序列圖像的數(shù)目(如20)、存放圖像數(shù)據(jù)文件的路徑(f:zyf)、圖像文件的名稱(如z1.img,z2.img,)錄入一文本文件(如imggroup.lst),運行程序時只需鍵入AVD imggroup.lst即可。源程序中顯示每幅圖像的代碼部分采用嵌入?yún)R編語言編寫,以得到較高的顯示速度。在程序運行過程中,按下空格鍵暫停;連擊空格鍵實現(xiàn)單幀播放;按下任意其它鍵恢復(fù)連續(xù)播放;按下退出鍵(Escape)退回DOS。在程序設(shè)計時,為避免在一個循環(huán)結(jié)束過渡到下一個循環(huán)開始時將要從序列的最后一幅圖像切換到第一幅圖像,因為這時由于圖像運動的不連續(xù)性將產(chǎn)生突變,以至屏幕顯示
3、有抖動感或閃爍感,所以筆者采用了第一個循環(huán)正向播放,第二個循環(huán)反向播放(即正反相間)的方案。如果讀者只希望正向播放,只須刪除源程序中標(biāo)有“/$”的四條語句行即可。編譯運行環(huán)境:本程序用MS C6.0編譯通過,編譯時請使用命令行參數(shù)/STACK:20480;圖像數(shù)據(jù)文件來自大恒公司的VP32圖像采集板(512512256灰階)。#include #include #include #include #include #include #include #define IMGGRP 30 /Image Number in a Cycle Showing#define ESCAPE 27 /Stop
4、 Showing and Exit#define SPACE 32 /Step Show-Hit Space Bar & One by One Showingvoid RemapPalette(void);void main (int argc,char *argv)static char grpflnmIMGGRP80;char path80,flnm80,bindfn80,arg5;char fnch2=0;char ch-imgnum5;int i,i1,i2,i12,ii,imgnum=IMGGRP;int dispimgs,keyin,StepShow=0;unsigned shor
5、t int VSEG;union REGS inregs,outregs;FILE *fp;unsigned short int row=480,col=512;unsigned char fb512;int m-b=0;clock-t cstart,cend; /* For clock */unsigned short int FH; / File Handleprintf(n * GROUP IMAGES ANIMATEDLY SHOWING * n);if(argc1)strcpy(flnm,argv1);elseprintf(n Input the Image Group file n
6、ame .lst:);gets(flnm);REDISP:if(!strchr(flnm,.)strcat(flnm,.lst);if(fp=fopen(flnm,rt)=NULL)printf(n Open file failure! aan);printf(n Please Check following files whether exist:);printf(n%s,flnm);printf(nn Note:The file extension name is appended automatically,);printf(n such as .lst!);exit(1);inregs
7、.x.ax=0x005d; / Set TVGA Mode:640x480x256 levelsint86(0x10,&inregs,&outregs);RemapPalette(); / Remap all Palettecstart= clock(); /* Use clock for timing to hundredths of seconds */strcpy(ch-imgnum,0);for(;) / Read image number in groupfread(fnch,sizeof(char),1,fp);if(int)fnch0=10) break;strcat(ch-im
8、gnum,fnch);imgnum=atoi(ch-imgnum);strcpy(path,0);for(;) / Read image path in groupfread(fnch,sizeof(char),1,fp);if(int)fnch0=10) break;strcat(path,fnch);for(i=0;i<imgnum;i+) / Read image name in groupstrcpy(grpflnmi,0);for(;)fread(fnch,sizeof(char),1,fp);if(int)fnch0=10) break;strcat (grpflnmi,fn
9、ch);keyin=0;StepShow=0; / Continuous Showing defaultlydispimgs=0;i1=0; i2=imgnum-1; i12=1;for(;) / SHOW IMAGES-ANTMATE PICTURE STUDIO/ REPEAT CYCLE FOREVERfor(i=i1;i1) goto ENDP;printf(n Display Another Image Group(Y/N)?);gets(arg);if(!strcmp(arg,Y)!strcmp(arg,y)printf(n Input image file name:);gets
10、(flnm);goto REDISP;ENDP:-SETVIDEOMODE(-TEXTC80);printf( Show %5d images;Spend %4.2f seconds.n,dispimgs,(float)cend-cstart)/CLK-TCK);void RemapPalette(void)register int i,j;union REGS inregs,outregs;for(j=0;j64;i+) /Remap TVGA Palettefor(i=0;i4;j+)inregs.x.ax=0x1010;inregs.x.bx=(unsigned char)(4*i+j)
11、; /Index valueinregs.h.ch=(unsigned char)i; /Green value R,G,B=0-63inregs.h.cl=(unsigned char)i; /Blue valueinregs.h.dh=(unsigned char)i;/Red valueint86(0x10,&inregs,&outregs);圖像組文件(如imggroup.lst)錄入格式(每項占一行,編輯器用MS C6.0的PWB即可):3f:zyfz1.imgz2.imgz3.img如讀者想進(jìn)一步提高顯示速度,方案如下:1.窗口顯示:只顯示感興趣的目標(biāo)區(qū)域;2.虛擬盤:把序列圖像文件拷貝到虛擬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年定制化客戶合作協(xié)議
- 廠區(qū)園林景觀養(yǎng)護(hù)服務(wù)協(xié)議模板2024
- 2024年度高品質(zhì)鋁單板購銷協(xié)議
- 2023-2024學(xué)年浙江省紹興市重點中學(xué)第二學(xué)期高三數(shù)學(xué)試題統(tǒng)練(一)
- 2024年專業(yè)吊車租賃服務(wù)協(xié)議范本
- 2024跨境航空貨物運輸協(xié)議范本
- 2024年度高級店長任職協(xié)議
- 2024種苗行業(yè)購銷協(xié)議樣本
- 城市水溝2024年清理維護(hù)協(xié)議樣式
- 2024年個人經(jīng)營店鋪租賃協(xié)議
- 骨骼肌肉系統(tǒng)影像診斷(160頁)
- 鐵路信號基礎(chǔ)繼電器ppt課件
- 污水設(shè)計構(gòu)筑物的計算
- 武當(dāng)太極劍劍譜(49式)詳細(xì)介紹及招式名稱匯總
- 風(fēng)量、溫度、噪聲測試記錄填寫范例
- 特種作業(yè)人員臺賬.doc
- 國家開放大學(xué)《管理英語1》邊學(xué)邊練參考答案
- (完整版)裝飾裝修工程監(jiān)理細(xì)則(詳解)最新(精華版)
- 電焊中級工(四級)職業(yè)技能鑒定考試題庫
- 多巴胺的藥理作用及用法PPT參考幻燈片
- 鋼結(jié)構(gòu)網(wǎng)架翻新改造施工方案
評論
0/150
提交評論