在Windows Phone中如何显示GIF图片

2014-11-24 10:44:15 ? 作者: ? 浏览: 0

话说前几天我一个朋友跟我谈到一个特别的需求,想从Web上下载GIF图片过来然后在Windows phone 上显示。我们都知道Silverlight与Windows Phone都是不支持GIF图像格式的。如果你尝试去下载gif图片然后在Image控件上显示,你将会得到一个异常。


所以我在网络上找到了 ImageTools 库,这是个包含多种图像格式转换器的第三方库,其中就支持针对GIF格式的图像转换。


使用方式:
首先为你的项目添加此库的引用,如下图,我们使用NuGet来获取ImageTools



为了达成我们的目标,这里需要两个部件:
1,AnimatedImage,它将替换掉标准的 Silverlight ImageControl。
2,ImageConverter,完成图片格式的转换。


这两个对象都是 ImageTools.Controls 命名空间下的,所以在XAML中也要申明命名空间


一旦已经引入了命名空间,那么就能将 converter 作为页面资源添加进来,如下代码所示


代码


当然如果希望这个converter能够在整个项目都能使用,那么你可以在 App.xaml 文件的 Application.Resources 节点添加此元素。


好了,现在可以在页面添加AnimatedImage控件了,这里可以将控件的 Source 属性绑定为 Uri 对象,然后设置好 Image Converter 的引用。如下:





然后将 ImageSource 属性在后台C#代码中进行如下设定。


ImageSource = new Uri("https://www.cppentry.com/upload_files/article/54/1_8dz89__.gif", UriKind.Absolute);


最后我们在页面的构造方法中添加这样一行代码来支持GIF解码的功能。


public MainPage()
{
InitializeComponent();
ImageTools.IO.Decoders.AddDecoder();
}


好了,编译一遍然后运行,你肯定能看到运动起来的GIF图片。


-->

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: