




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、在TVGA上實現(xiàn)全屏幕動畫首先設置TVGA卡使其工作在0X5d方式下,屏幕分辨率是640480256色。然后重新構造調色板(RemapPalette(),使其適于顯示256灰階的圖像。由于TVGA卡的顏色寄存器使用18位存儲模式,即R、G、B分量各占6位,而要顯示灰度圖像R、G、B分量必須賦予相同的值,所以就只能顯示區(qū)分26=64灰階的圖像。不過,實驗表明人眼已無法區(qū)分64灰階與256灰階圖像的差別。因此,在構造調色板時,03索引值對應的R、G、B分量值都為0,47索引值對應的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)單幀播放;按下任意其它鍵恢復連續(xù)播放;按下退出鍵(Escape)退回DOS。在程序設計時,為避免在一個循環(huán)結束過渡到下一個循環(huán)開始時將要從序列的最后一幅圖像切換到第一幅圖像,因為這時由于圖像運動的不連續(xù)性將產(chǎn)生突變,以至屏幕顯示
3、有抖動感或閃爍感,所以筆者采用了第一個循環(huán)正向播放,第二個循環(huán)反向播放(即正反相間)的方案。如果讀者只希望正向播放,只須刪除源程序中標有“/$”的四條語句行即可。編譯運行環(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如讀者想進一步提高顯示速度,方案如下:1.窗口顯示:只顯示感興趣的目標區(qū)域;2.虛擬盤:把序列圖像文件拷貝到虛擬
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村材料合同范本
- 動產(chǎn)汽車互易合同范本
- 企業(yè)投資期權合同范本
- 2024年徐州市凱信電子設備有限公司招聘考試真題
- 勞動關系合同范本
- 2024年西安醫(yī)學院第一附屬醫(yī)院灃東醫(yī)院招聘筆試真題
- 2024年臺州仙居縣人民醫(yī)院醫(yī)共體招聘工作人員筆試真題
- 2024鞍鋼資本金融管理業(yè)務人才招聘4人筆試參考題庫附帶答案詳解
- 第16課《誡子書》教學設計 2024-2025學年統(tǒng)編版語文七年級上冊
- 出售環(huán)衛(wèi)用車合同范本
- 2025年湖南城建職業(yè)技術學院單招職業(yè)技能測試題庫新版
- 《中國古代文學史及作品選II》教學大綱
- 代工生產(chǎn)合同范本
- 瑜伽課程合同轉讓協(xié)議書范本
- 個人經(jīng)營性貸款合同模板
- 人教版英語2025七年級下冊 Unit1Animal Friends教師版 語法講解+練習
- DeepSeek新手入門教程
- 課件:《教育強國建設規(guī)劃綱要(2024-2035年)》學習宣講
- 2025年山東化工職業(yè)學院高職單招職業(yè)適應性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年全國幼兒園教師資格證考試教育理論知識押題試題庫及答案(共九套)
- 2024年鄭州電力高等??茖W校高職單招職業(yè)適應性測試歷年參考題庫含答案解析
評論
0/150
提交評論