[Windows Phone] 在Windows Phone程序中播放GIF动画

简介: 最近又冒出做一个应用的想法,其中一个方案是需要播放GIF动画,但默认的Windows Phone 7的图片控件是不支持的,不过可以用Web Browser实现,单个人觉得不好,所以找了一下资料,下面给大家介绍一下实现方法。

最近又冒出做一个应用的想法,其中一个方案是需要播放GIF动画,但默认的Windows Phone 7的图片控件是不支持的,不过可以用Web Browser实现,单个人觉得不好,所以找了一下资料,下面给大家介绍一下实现方法。

1. 准备工作

这个实现中最主要用到的是一套开源的GIF操作库:

Logo

http://imagetools.codeplex.com/

这套开源库主要是针对Silverlight和Windows Phone操作各种类型图像文件而做的,但是用起来不太顺手,目前稳定版是0.3版,大家可以自行下载。

2. 引用并编写代码

ImageTools的使用网上资料不太多,且都是重复内容,我按照网上资料操作编写的测试程序没一个能用的,最后还是自己试出来的,首先我们找到ImageTools中的DLL文件(共9个):

image

这里建议大家把这9个DLL都引用到项目中,如果只操作GIF的话可以不用PNG和BMP这两个,其他的一定要在,否则会报莫名错误,另外直接下载的0.3版ImageTools的DLL网上有朋友说存在Bug,如果真有问题可以下载源码后自己编译出来DLL用,我就是编译出来DLL然后用的,没发现问题。

添加好引用后如下:

image

接着在XAML中添加下面代码:

首先是引用:

 

xmlns:imagetools="clr-namespace:ImageTools.Controls;assembly=ImageTools.Controls"

 

然后是一个资源:

 

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

 

最后是GIF播放控件:

 

< imagetools:AnimatedImage  Height ="500"  Name ="animatedImage1"  Source =" {Binding ImageSource, Converter={StaticResource ImageConverter}} "   />

 

然后加入一个要播放的GIF文件在AppData目录:

image

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

感谢大家!希望这个实现对大家有帮助!

目录
相关文章
|
3月前
|
Web App开发 数据可视化 JavaScript
动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper
动画墙纸:将视频、网页、游戏、模拟器变成windows墙纸——Lively Wallpaper
42 0
|
9月前
|
前端开发 Windows
HTML+CSS制作Windows启动加载动画
HTML+CSS制作Windows启动加载动画
|
10月前
|
开发框架 自然语言处理 搜索推荐
基于.NetCore开源的Windows的GIF录屏工具
基于.NetCore开源的Windows的GIF录屏工具
69 0
|
编解码 监控 图形学
Windows平台Unity下播放RTSP或RTMP如何开启硬解码?
我们在做Windows平台Unity播放RTMP或RTSP的时候,遇到这样的问题,比如展会、安防监控等场景下,需要同时播放多路RTMP或RTSP流,这样对设备性能,提出来更高的要求。
133 1
|
vr&ar 开发工具 图形学
Windows平台Unity3d下如何同时播放多路RTSP或RTMP流
好多开发者在做AR、VR或者教育类产品时,苦于如何在windows平台构建一个稳定且低延迟的RTSP或者RTMP播放器,如果基于Unity3d完全重新开发一个播放器,代价大、而且周期长,不适合快速出产品,我们认为当前最好的方式就是集成现有Native平台上成熟稳定播放器,回调rgb/yuv数据到上层,上层做绘制即可。
125 1
|
开发工具 图形学 Android开发
Windows/Android/IOS平台如何在Unity3d播放RTSP/RTMP流
如果基于Unity3d完全重新开发一个播放器,代价大,周期长,不适合快速出产品,最好的方式就是集成现有Native平台上成熟稳定播放器.
137 1
|
网络协议 开发工具 C#
Windows平台如何快速实现RTSP/RTMP直播播放
前段时间,我们在 https://blog.csdn.net/renhui1112/article/details/104143794 提到“RTSP播放器开发过程中需要考虑哪些关键因素”,本次主要介绍,如何调用SDK实现RTSP/RTMP播放能力。
447 0
|
编解码 计算机视觉 Windows
Qt实用技巧:使用QMediaPlayer和Windows自带组件播放swf、rmvb、mpg、mp4等视频文件
Qt实用技巧:使用QMediaPlayer和Windows自带组件播放swf、rmvb、mpg、mp4等视频文件
Qt实用技巧:使用QMediaPlayer和Windows自带组件播放swf、rmvb、mpg、mp4等视频文件
|
Android开发 iOS开发 Windows
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
不久前,随着最后一家WP手机厂商惠普宣布取消今后Windows Phone的研发计划,以及微软官方声明对WP8.1系统今后所有升级维护的终止,WP手机,作为曾经和安卓手机、苹果手机并驾齐驱的三大智能手机之一,正式寿终正寝。
1419 0
Windows Phone 寿终正寝了,这些经典机型你还记得吗?
|
Windows
Windows系统高质量Gif录制工具推荐:LICEcap录屏软件,非常小巧好用,只有200k
Windows系统高质量Gif录制工具推荐:LICEcap录屏软件,非常小巧好用,只有200k
151 0
Windows系统高质量Gif录制工具推荐:LICEcap录屏软件,非常小巧好用,只有200k