已知WPF的Image元素只能显示GIF图片的第一帧,而MediaElement不能加载作为资源或内嵌的资源的GIF图片,所以网上有几种实现方法。
GifImage
GifImage继承自FrameworkElement,添加了Source、Stretch、StretchDirection依赖项属性,用法就跟标准Image元素差不多。从GIF里分解出各帧及其延续时间后,我在OnRender里自行绘制,并启动DispatcherTimer计时,以便按时绘制下一帧。
解析GIF需要GifFormat类的帮助。GifFormat的构造函数需要Stream对象,构造函数认为从该Stream对象中可以读到gif文件,然后按字节解析。
GIF图片是由很多帧构成的,每一帧有延续时间、处置方法、左边、上边等属性,当然还有最重要的图像数据。GifFrame类就代表GIF图片里的帧。
经GifFormat解析后的数据可由LogicalScreenWidth、LogicalScreenHeight和GetFrames方法获得。
每当设置Source属性,如果是gif图片,就会重新创建一个新的GifFormat,然后启动timer。
当然,Source URI的方案是多种多样的,GifImage支持http、ftp、file、pack。
显示GIF的两个重点在MeasureOverride和OnRender方法,它们考虑了Stretch、StretchDirection、Width、Height等属性。
WpfAnimatedGif
一个简单的在WPF中显示GIF图片的库使用非常简单:在XAML中,替换Source属性,设置AnimatedSource附加属性到想要的图片Windowx:Class=WpfAnimatedGif.Demo.MainWindowxmlns=http://schemas....

















大小: 74.8M

PHP中文手册php 2015中文参考手册
很好的学习C#的课件PPT
联发科MTK手机平台开发资料大全
CorelDraw X4官方手册PDF英文原版
经典算法大全老奔整理PDF 中文高清版
jquery资料大全
UNIX操作系统Word文档
微软等数据结构+算法面试100题
IBM-PC 汇编语言程序设计PPT
<网友世界>2010年第08期4月(下) 高清PDF格式
U盘制作启动语音视频教程免费版