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