| 一般的做法,只能显示两张图片,因为Wipe擦洗技术限制只能两张图片间切换花。 但可以通过将两张图片转为动画交替显示
<script> var i=0,pictures=new Array();//设置图片数组,图片数为奇数 var picbase=; pictures[i++]=1.gif pictures[i++]=2.gif pictures[i++]=3.gif pictures[i++]=4.gif pictures[i++]=5.gif pictures[i++]=6.gif pictures[i++]=7.gif pictures[i++]=8.gif pictures[i++]=9.gif pictures[i++]=10.gif pictures[i++]=11.gif pictures[i++]=12.gif pictures[i++]=13.gif pictures[i++]=14.gif pictures[i++]=15.gif pictures[i++]=16.gif pictures[i++]=17.gif pictures[i++]=18.gif pictures[i++]=19.gif pictures[i++]=20.gif pictures[i++]=21.gif pictures[i++]=22.gif var picturewidth=400//图片宽度 var pictureheight=290//图片高度 var delay=1//延迟时间 </script> <script> if (document.all) { document.write('<OBJECT ID=DAControl_Wipe ') document.write('STYLE=width:'+picturewidth+';height:'+pictureheight+'') document.write('CLASSID=CLSID:B6FFC24C-7E13-11D0-9B47-00C04FC2F51D>') document.write('</OBJECT>') m = DAControl_Wipe.MeterLibrary;
whatTransformation = new ActiveXObject(DXImageTransform.Microsoft.Wipe); whatTransformation.GradientSize = 1.0;//设置渐变度 whatTransformation.WipeStyle = 0;//设置擦洗类型
var myArr=new Array(),myArr2=new Array(); var len=Math.floor(pictures.length/2);//将图片分成两组 for(var i=0;i<len;i++){ myArr[i]=m.ImportImage(picbase+pictures[2*i]) myArr2[i]=m.ImportImage(picbase+pictures[2*i+1]) } if(pictures[2*i]) myArr[i]=m.ImportImage(picbase+pictures[2*i]) else myArr[i]=m.ImportImage(picbase+pictures[0]) ; myArr=m.Array(myArr) myArr2=m.Array(myArr2) Index = m.Interpolate(0.5,len+0.5,len*2*delay).RepeatForever(); Index2 = m.Interpolate(0,len,len*2*delay).RepeatForever(); //交错运行半个时间单元 var whatPictures=new Array(); whatPictures[0] = myArr.NthAnim(Index); whatPictures[1] = myArr2.NthAnim(Index2);
forward = m.Interpolate(0, 1, delay); back = m.Interpolate(1, 0, delay); whatMovement = m.Sequence(forward, back).RepeatForever(); //设置参数方向
theResult = m.ApplyDXTransform( whatTransformation, whatPictures, whatMovement ); DAControl_Wipe.Image = theResult.OutputBvr;//设置显示图形 DAControl_Wipe.Start();//开始 } </script>
使用的技巧区别于以往的主要在将图片交替转为两个数组,利用内部计数Interpolate和NthAnim技术实现动画。
|