前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >silverlight中"制作逐帧动画"/"播放gif"收集

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

作者头像
菩提树下的杨过
发布2018-01-23 14:15:19
1.2K0
发布2018-01-23 14:15:19
举报

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

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

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

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

原文:https://cloud.tencent.com/developer/article/1021058

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

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

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

原文:https://cloud.tencent.com/developer/article/1020644

同样将各帧素材先准备好,用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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2009-11-11 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档