Gif in Windows phone 7
今天突然想到,在以往WM5/WM6系列,在系統上是無法正常的顯示Gif圖形的,那Windows Phone 7呢?簡單測試了一下,利用下面的XAML去測試
殘念,還是無法顯示;後來搜尋了一下,幸好有好心的達人有做出相關的解決方案,在論壇中的這篇有提到一個方式,是使用CodePlex上的這個解決方案,.NET Image Tools,就來測試一下吧,首先把組件下載回來之後,必須要加入相關的參考,我這邊只有用到Gif檔案,所以加入的參考是這些
之後再畫面上簡單的只放了一個按鈕,相關程式碼會像是下面這樣
真是太酷了,不過目前測試這個組件只能讀取遠端的檔案,直接部屬過去的檔案(在隔離儲存區內)是沒辦法讀出來用的,可能是原作者主要標的是針對Silverlight,但不是針對Phone的平台,不過可以下載原始碼回來K看看,我想應該是辦的到的才對:)
殘念,還是無法顯示;後來搜尋了一下,幸好有好心的達人有做出相關的解決方案,在論壇中的這篇有提到一個方式,是使用CodePlex上的這個解決方案,.NET Image Tools,就來測試一下吧,首先把組件下載回來之後,必須要加入相關的參考,我這邊只有用到Gif檔案,所以加入的參考是這些
之後再畫面上簡單的只放了一個按鈕,相關程式碼會像是下面這樣
using System.Windows; using System.Windows.Controls; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Animation; using System.Windows.Shapes; using Microsoft.Phone.Controls; using System.IO.IsolatedStorage; using System.Windows.Media.Imaging; using ImageTools.IO.Gif; using ImageTools.Controls; namespace RunDemo { public partial class MainPage : PhoneApplicationPage { // Constructor public MainPage() { ImageTools.IO.Decoders.AddDecoder接下來就來執行看看效果了,至於模特兒的重責大任就交由洋蔥頭來擔綱了,出來之後的結果會像下圖,實際上也是會有動畫的喔(); InitializeComponent(); } private void button1_Click(object sender, RoutedEventArgs e) { ImageTools.Image img = new ImageTools.Image(); img.UriSource = new Uri("http://bauann.myweb.hinet.net/Animategif.gif", UriKind.Absolute); AnimatedImage myImg = new AnimatedImage(); myImg.Stretch = System.Windows.Media.Stretch.Uniform; myImg.Source = img; myImg.VerticalAlignment = VerticalAlignment.Bottom; myImg.Margin = new Thickness(0, 2, 2, 2); ContentGrid.Children.Add(myImg); } } }
真是太酷了,不過目前測試這個組件只能讀取遠端的檔案,直接部屬過去的檔案(在隔離儲存區內)是沒辦法讀出來用的,可能是原作者主要標的是針對Silverlight,但不是針對Phone的平台,不過可以下載原始碼回來K看看,我想應該是辦的到的才對:)
留言