me:~~~确实要下载源码从新编译,不然会报错。坑爹呀html
最近又冒出作一个应用的想法,其中一个方案是须要播放GIF动画,但默认的Windows Phone 7的图片控件是不支持的,不过能够用Web Browser实现,单我的以为很差,因此找了一下资料,下面给你们介绍一下实现方法。ide
1. 准备工做测试
这个实现中最主要用到的是一套开源的GIF操做库:动画
http://p_w_picpathtools.codeplex.com/this
这套开源库主要是针对Silverlight和Windows Phone操做各类类型图像文件而作的,可是用起来不太顺手,目前稳定版是0.3版,你们能够自行下载。spa
2. 引用并编写代码code
ImageTools的使用网上资料不太多,且都是重复内容,我按照网上资料操做编写的测试程序没一个能用的,最后仍是本身试出来的,首先咱们找到ImageTools中的DLL文件(共9个):orm
这里建议你们把这9个DLL都引用到项目中,若是只操做GIF的话能够不用PNG和BMP这两个,其余的必定要在,不然会报莫名错误,另外直接下载的0.3版ImageTools的DLL网上有朋友说存在Bug,若是真有问题能够下载源码后本身编译出来DLL用,我就是编译出来DLL而后用的,没发现问题。xml
添加好引用后以下:htm
接着在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目录:
后台代码以下:
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;
最终效果以下:
感谢你们!但愿这个实现对你们有帮助!
http://www.cnblogs.com/WilsonWu/archive/2011/10/15/2213144.html