本站首页 设计艺术 绘画艺术 工艺美术 摄影艺术 书法篆刻 表演艺术 精品网址 艺家在线 专题报道 艺术搜索
广
您的位置:首页>>设计艺术>>网页设计>>文章内容 栏目编辑:A君
n(n>>2)幅图片轮换擦洗显示
2004-3-21  作者:秋水无恨  来源:视觉中国  【字体:

一般的做法,只能显示两张图片,因为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技术实现动画。


版权申明:
  部分特别声明不要转载、或者授权本站独家发布的文章,未经授权不要转载、摘编、复制或建立镜像; 大家可以自由转载本站的文章,但原作者和来自我站的链接必须保留。文章版权归本站和原作者共有。
  六艺中文网(6Art.Net)依法保护知识产权,如果我们的文章有涉及或侵犯您的有关权益,请即时与我们联系, 注明网址及文章,我们会即时处理或删除,感谢您的合作!



支持我们

功夫巨星李小龙

建筑大师贝律铭

艺术大师刘海粟

国画大师张大千

商业画家陈逸飞

当代书法黄学江

摄影大师吴印咸

艺术名家黄敦


相关文章

 查找:n(n>>2)幅图片轮换擦洗显示相关  【关闭】  【顶部
关于站点 | 联系方法 | 版权隐私 | 南艺创业协会 | 网站地图 | 网站画廊 Copyright © 2003-2010 6Art.net.All rights reserved. 
苏ICP备05000085号.  技术支持:名家画廊在线