在tvga上实现全屏幕动画_第1页
在tvga上实现全屏幕动画_第2页
在tvga上实现全屏幕动画_第3页
在tvga上实现全屏幕动画_第4页
在tvga上实现全屏幕动画_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1/7在TVGA上实现全屏幕动画在图像处理领域,当处理或分析序列运动图像时,需要在屏幕上连续显示这一序列图像即动画播放,以便观察处理效果或分析动态信息。一般游戏动画的设计方法是慢速移动背景和快速刷新运动目标小画面,难以实现全屏动画效果。为此笔者采用了汇编语言编程和快速写屏的方法,在普通的486微机主频66M,配TVGA9000卡上达到了每秒显示10幅640480256灰阶图像的速度,效果令人满意。首先设置TVGA卡使其工作在0X5D方式下,屏幕分辨率是640480256色。然后重新构造调色板REMAPPALETTE,使其适于显示256灰阶的图像。由于TVGA卡的颜色寄存器使用18位存储模式,即R、G、B分量各占6位,而要显示灰度图像R、G、B分量必须赋予相同的值,所以就只能显示区分2664灰阶的图像。不过,实验表明人眼已无法区分64灰阶与256灰阶图像的差别。因此,在构造调色板时,03索引值对应的R、G、B分量值都为0,47索引值对应的R、G、B分量值都为1,依次类推,这样就可以正确显示一幅256灰阶的图像。以下是动画播放序列运动图像完整的源代码。为连续显示一序列图像,先将序列图像的数目如20、存放图像数据文件的路径FZYF、图像文件的名称如,录入一2/7文本文件如,运行程序时只需键入AVD即可。源程序中显示每幅图像的代码部分采用嵌入汇编语言编写,以得到较高的显示速度。在程序运行过程中,按下空格键暂停连击空格键实现单帧播放按下任意其它键恢复连续播放按下退出键ESCAPE退回DOS。在程序设计时,为避免在一个循环结束过渡到下一个循环开始时将要从序列的最后一幅图像切换到第一幅图像,因为这时由于图像运动的不连续性将产生突变,以至屏幕显示有抖动感或闪烁感,所以笔者采用了第一个循环正向播放,第二个循环反向播放即正反相间的方案。如果读者只希望正向播放,只须删除源程序中标有“/”的四条语句行即可。编译运行环境本程序用MS编译通过,编译时请使用命令行参数/STACK20480图像数据文件来自大恒公司的VP32图像采集板512512256灰阶。INCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEINCLUDEDEFINEIMGGRP0/IMAGENUMBERINACYCLESHOWING3/7DEFINEESCAPE/STOPSHOWINGANDEXITDEFINESPACE/STEPSHOWHITSPACEBARVOIDMAININTARGC,CHARARGVSTATICCHARGRPFLNMIMGGRP80CHARPATH80,FLNM80,BINDFN80,ARG5CHARFNCH2“0“CHARCHIMGNUM5INTI,I1,I2,I12,II,IMGNUMIMGGRPINTDISPIMGS,KEYIN,STEPSHOW0UNSIGNEDSHORTINTVSEGUNIONREGSINREGS,OUTREGSFILEFPUNSIGNEDSHORTINTROW480,COL512UNSIGNEDCHARFB512INTMB0CLOCKTCSTART,CEND/FORCLOCK/UNSIGNEDSHORTINTFH/FILEHANDLEPRINTF“NGROUPIMAGESANIMATEDLYSHOWINGN“4/7IFARGC1STRCPYFLNM,ARGV1ELSEPRINTF“NINPUTTHEIMAGEGROUPFILENAMELST“GETSFLNMREDISPIFSTRCHRFLNM,STRCATFLNM,“LST“IFFPFOPENFLNM,“RT“NULLPRINTF“NOPENFILEFAILUREAAN“PRINTF“NPLEASECHECKFOLLOWINGFILESWHETHEREXIST“PRINTF“NS“,FLNMPRINTF“NNNOTETHEFILEEXTENSIONNAMEISAPPENDEDAUTOMATICALLY,“PRINTF“NSUCHASLST“EXIT15/70X005D/SETTVGAMODE640X480X25LEVELSINT860X10,REMAPPALETTE/REMAPALLPALETTECSTARTCLOCK/USECLOCKFORTIMINGTOHUNDREDTHSOFSECONDS/STRCPYCHIMGNUM,“0“FOR/READIMAGENUMBERINGROUPFREADFNCH,SIZEOFCHAR,1,FPIFINTFNCH010BREAKSTRCATCHIMGNUM,FNCHIMGNUMATOICHIMGNUMSTRCPYPATH,“0“FOR/READIMAGEPATHINGROUPFREADFNCH,SIZEOFCHAR,1,FPIFINTFNCH010BREAKSTRCATPATH,FNCHFORI0IIMGNUMI/READIMAGENAMEINGROUP6/7STRCPYGRPFLNMI,“0“FORFREADFNCH,SIZEOFCHAR,1,FPIFINTFNCH010BREAKSTRCATGRPFLNMI,FNCHKEYIN0STEPSHOW0/CONTINUOUSSHOWINGDEFAULTLYDISPIMGS0I10I2IMGNUM1I121FOR/SHOWIMAGESANTMATEPICTURESTUDIO/REPEATCYCLEFOREVERFORII1I1GOTOENDPPRINTF“NDISPLAYANOTHERIMAGEGROUPY/N“GETSARGIFSTRCMPARG,“Y“|STRCMPARG,“Y“PRINTF“NINPUTIMAGEFILENAME“GETSFLNM7/7GOTOREDISPENDPSETVIDEOMODETEXTC80PRINT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论