在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

相關文章
相關標籤/搜索