在Windows Phone中如何显示GIF图片

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

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

使用方式:

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

为了达成我们的目标,这里需要两个部件:

1,AnimatedImage,它将替换掉标准的 Silverlight ImageControl。

2,ImageConverter,完成图片格式的转换。

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

<phone:PhoneApplicationPage.Resources>
    <imagetools:ImageConverter x:Key="ImageConverter" />
</phone:PhoneApplicationPage.Resources>

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

代码

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

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

<StackPanel>
    <imagetools:AnimatedImage x:Name="Image" Source="{Binding Path=ImageSource, Converter={StaticResource ImageConverter}}" />
</StackPanel>

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

ImageSource = new Uri("http://www.nonstopgifs.com/animated-gifs/games/games-animated-gif-002.gif", UriKind.Absolute);

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

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

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

原文连接地址:http://wp.qmatteoq.com/how-to-display-gif-images-in-a-windows-phone-application/

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索图像
, 图片
, 控件
, gif
, 代码
, 格式
显示gif图片
windows图片查看器gif、windows phone、windowsphone、windows phone 10、windowsphone手机,以便于您获取更多的相关知识。

时间: 2024-11-08 20:11:26

在Windows Phone中如何显示GIF图片的相关文章

JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法

  本文实例讲述了JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法.分享给大家供大家参考.具体如下: html代码: ? 1 2 3 4 5 6 7 8 9 <form name="searchform" id="search-form"> <div> <b>Search</b> <input type="text" name="txtInput" t

jpg-在MFC的CDialog类中可以显示JPG图片 在CFromview类中用同样的方法显示不了

问题描述 在MFC的CDialog类中可以显示JPG图片 在CFromview类中用同样的方法显示不了 HGLOBAL hMem; IStream *m_pStream; IPicture *m_pPicture; OLE_XSIZE_HIMETRIC m_JPGWidth; OLE_XSIZE_HIMETRIC m_JPGHeight; CRect rect(100,120,600,460); CString path; CFile file; CFileDialog dlg(TRUE,_T(

C#将image中的显示的图片转换成二进制

原文:C#将image中的显示的图片转换成二进制  1.将Image图像文件存入到数据库中 我们知道数据库里的Image类型的数据是"二进制数据",因此必须将图像文件转换成字节数组才能存入数据库中. View Code //将本地图片转换成二进制保存起来 private byte[] SetImageToByteArray(string fileName) { FileStream fs = null; try { fs = new FileStream(fileName, FileM

qpixmap-Qt获取Qlabel中当前显示的图片

问题描述 Qt获取Qlabel中当前显示的图片 我在一个QLabel中打开了本地的一张图片,现在想要点击一个按键对当前图片用mirrored()对图像进行翻转,怎么获取当前的图片呢? 解决方案 在显示之前,会获得图片的路径,这个路径你要记录下来,存到内存中,然后在用的时候再去读这个记录 解决方案二: 打开的本地图片是随机打开 解决方案三: Qt Qlabel显示图片新手教程Qt:拖拽图片到QLabel上并显示Qt:拖拽图片到QLabel上并显示 解决方案四: label->pixmap()->

在Windows窗体中如何使用透明图片和标签

本文配套源码 昨天一朋友问到Windows窗体中图片透明的问题,刚上网看看了,在CodeProject上看到了这篇文章, 觉得写的不错,再者自己一直想学学翻译技术文章,所以就将其翻译成了中文,希望能给大家带来点帮 助. 申明:初次翻译此类文章,属处女作,难免有不对之处,欢迎大家拍砖指教!^_^ OK ,开始正文-- 引言--没有透明度的Windows窗体 如果你制作 一些包括图片和标签的复杂的窗体,你可能会发现:Windows窗体不支持真正的透明.你可能撕裂了你的 头皮了--但仍没有解决! 即使

Windows XP中恢复显示桌面按钮

"快速启动"栏中的"显示桌面"按钮不同于一般的快捷方式.如果不小心删除了"显示桌面"按钮,那么按照一般的方法是不能够恢复的. 要恢复"快速启动"栏中的"显示桌面"按钮需要采用如下所述的方法. 打开"记事本"程序,在其中输入如下内容: [Shell] Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop 然后把这

iOS开发中实现显示gif图片的方法_IOS

我们知道Gif是由一阵阵画面组成的,而且每一帧画面播放的时常可能会不相等,观察上面两个例子,发现他们都没有对Gif中每一帧的显示时常做处理,这样的结果就是整个Gif中每一帧画面都是以固定的速度向前播放,很显然这并不总会符合需求.   于是自己写一个解析Gif的工具类,解决每一帧画面并遵循每一帧所对应的显示时间进行播放.   程序的思路如下:   1.首先使用ImageIO库中的CGImageSource家在Gif文件.   2.通过CGImageSource获取到Gif文件中的总的帧数,以及每一

Windows 10中怎么快速把图片转为PDF格式?

1.在win10系统找到要转换在pdf格式的图片,然后选中并右击选择"打印"如下: 2.在打开界面我们选择"Microsoft Print to PDF打印机"然后点击"打印"(这个是不是打印输出,而转换格式了): 3.然后会提示 保存,命名后,直接保存即可,默认路径在此电脑---文档中: 4.保存后,我们会看到有一个PDF文件了. 在打印时有一个地方要注意,就是我们保存时的文件拓展名了,如果不填写拓展名我们可以在文件类型选择pdf格式即可.

mfc windows编程-怎么才可以让mfc框架中显示出图片

问题描述 怎么才可以让mfc框架中显示出图片 如图所示,我看视频学的,写的也和视频中一样,可为什么图片总是显示不出来,是因为m_img没有赋值成功么,希望大神们指导,最好能写下源码.对了,我建立mfc.exe时,里面的什么头文件啊什么的,就加了一个Gdiplus.h,其他的什么定义也没动,只是加了一些东西,求教多谢各位大神 解决方案 http://blog.csdn.net/friendan/article/details/38358507http://blog.csdn.net/liu_che