在Windows Phone程序中播放GIF动画

me:~~~确实要下载源码从新编译,不然会报错。坑爹呀html

最近又冒出作一个应用的想法,其中一个方案是须要播放GIF动画,但默认的Windows Phone 7的图片控件是不支持的,不过能够用Web Browser实现,单我的以为很差,因此找了一下资料,下面给你们介绍一下实现方法。ide

1. 准备工做测试

这个实现中最主要用到的是一套开源的GIF操做库:动画

Logo

http://p_w_picpathtools.codeplex.com/this

这套开源库主要是针对Silverlight和Windows Phone操做各类类型图像文件而作的,可是用起来不太顺手,目前稳定版是0.3版,你们能够自行下载。spa

2. 引用并编写代码code

ImageTools的使用网上资料不太多,且都是重复内容,我按照网上资料操做编写的测试程序没一个能用的,最后仍是本身试出来的,首先咱们找到ImageTools中的DLL文件(共9个):orm

p_w_picpath

这里建议你们把这9个DLL都引用到项目中,若是只操做GIF的话能够不用PNG和BMP这两个,其余的必定要在,不然会报莫名错误,另外直接下载的0.3版ImageTools的DLL网上有朋友说存在Bug,若是真有问题能够下载源码后本身编译出来DLL用,我就是编译出来DLL而后用的,没发现问题。xml

添加好引用后以下:htm

p_w_picpath

接着在XAML中添加下面代码:

首先是引用:

 

xmlns:p_w_picpathtools="clr-namespace:ImageTools.Controls;assembly=ImageTools.Controls"

 

而后是一个资源:

 

<phone:PhoneApplicationPage.Resources> 
    <p_w_picpathtools:ImageConverter x:Key="ImageConverter" /> 
</phone:PhoneApplicationPage.Resources>

 

最后是GIF播放控件:

 

<p_w_picpathtools:AnimatedImage Height="500" Name="animatedImage1" Source="{Binding ImageSource, Converter={StaticResource ImageConverter}}" />

 

而后加入一个要播放的GIF文件在AppData目录:

p_w_picpath

test

后台代码以下:

 

ImageTools.IO.Decoders.AddDecoder<GifDecoder>();
ImageTools.ExtendedImage myImage = new ImageTools.ExtendedImage();
myImage.UriSource = new Uri("AppData/test.gif", UriKind.Relative); 
this.animatedImage1.Source = (ImageTools.ExtendedImage)myImage;

 

最终效果以下:

1

感谢你们!但愿这个实现对你们有帮助!

http://www.cnblogs.com/WilsonWu/archive/2011/10/15/2213144.html

相关文章
相关标签/搜索