silverlight中"制作逐帧动画"/"播放gif"收集

简介: “逐帧动画”与“播放GIF”貌似二个风马牛不相干的问题,其实不然! 因为silverlight中的image控件不支持直接把gif动画做为source,所以象做动画常用的"走路的小人","加载loading小动画"...这类经典gif素材,无法直接使用,只能转化为逐帧动画来处理。

“逐帧动画”与“播放GIF”貌似二个风马牛不相干的问题,其实不然!

因为silverlight中的image控件不支持直接把gif动画做为source,所以象做动画常用的"走路的小人","加载loading小动画"...这类经典gif素材,无法直接使用,只能转化为逐帧动画来处理。 

nasa(silverlight MVP)给出于二种经典的办法: 

1.类似老式电影放胶片的原理,用storyboard机制实现

原文:http://www.cnblogs.com/nasa/archive/2008/03/24/1119771.html

将gif中的素材用photoshop,fireworks之类的工具把各层提取出来,拼接成一张图,然后拿一个矩形做为蒙版,图片每隔一定时间向左移动一定位置即可。

示意图(颇有css中背景定位的意思):

 

2.用ImageBrush定时填充指定矩形

原文:http://www.cnblogs.com/nasa/archive/2009/09/11/imageBrush-Animate.html

同样将各帧素材先准备好,用timer定时按顺序切换矩形的imageBrush

 

3.跟2中所提到的方法原理差不多,定时更换Image的source属性

出自 http://www.cnblogs.com/024hi/archive/2009/09/14/1566653.html

这里用到了园子里另一位mvp jillzhang开源gif处理库,借助这个工具类,将gif各帧取出形成一个WriteableBitmap数组,然后用timer定时按顺序取出该数组元素做为image的source轮换

不错的在线示例 http://joestegman.members.winisp.net/SL3/GIFDecoderSample/Default.html


 

 

 

目录
相关文章
|
内存技术
Silverlight制作逐帧动画 v2 - part1
Silverlight制作逐帧动画 v2 - part1   在silverlight 2的时候我写过一篇《Silverlight制作逐帧动画》,这个是采用storyboard的原理来做的。现在到了silverlight 3最近又想到一个动态将Rectangle的Fill属性设置为动画每一帧的图形。
827 0
|
算法
Silverlight制作逐帧动画 v2 - part2
Silverlight制作逐帧动画 v2 - part2 接上一篇《Silverlight制作逐帧动画 v2 - part1》,在这里完善了一下算法,加入了fps的机制进去。         private string[] shippics = new string[] { "Ship1/1.
842 0
Silverlight制作逐帧动画 v2 - part3
Silverlight制作逐帧动画 v2 - part3 总结之前写的两篇 Silverlight制作逐帧动画 v2 - part1 Silverlight制作逐帧动画 v2 - part2 这里把代码归纳整理,做了一些封装,动画全部的又代码进行创建,脱离了Blend这个工具。
700 0
|
前端开发 内存技术
Silverlight制作逐帧动画
打算用sl来制作一个游戏,我曾经有flash开发游戏的经验.现在想用sl来做.打算记录下我开发游戏探索的过程. 打开http://www.emu-zone.org/www3/host/emugif/  这个网站.
713 0

热门文章

最新文章