为WPF播放GIF伤神不?
Posted dotNET跨平台
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为WPF播放GIF伤神不?相关的知识,希望对你有一定的参考价值。
为WPF播放GIF伤神不?
仓库地址:https://github.com/XamlAnimatedGif/WpfAnimatedGif
Nuget 包:WpfAnimatedGif[1]。
今天介绍一个用于在 WPF 中显示动态 GIF 图片的库,可在 XAML 或代码中使用:WpfAnimatedGif
。
简单易用:在 XAML 中,使用AnimatedSource
附加属性设置需要显示的gif图片(替换Source
属性):
<Window x:Class="WpfAnimatedGif.Demo.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:gif="http://wpfanimatedgif.codeplex.com"
Title="MainWindow" Height="350" Width="525">
<Grid>
<Image gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
您还可以指定重复行为(默认为0x
,这意味着它将使用来自 GIF 元数据的重复计数):
<Image gif:ImageBehavior.RepeatBehavior="3x"
gif:ImageBehavior.AnimatedSource="Images/animated.gif" />
当然,您也可以在代码中设置gif图片:
var image = new BitmapImage();
image.BeginInit();
image.UriSource = new Uri(fileName);
image.EndInit();
ImageBehavior.SetAnimatedSource(img, image);
有关使用的更多详细信息,请参阅wiki[2]。
特色
未增加新的控件,在WPF原生的
Image
控件中添加附加属性即实现了gif图片动态加载功能考虑实际帧持续时间
可以指定重复行为;如果未指定,则使用来自 GIF 元数据的重复计数
动画播放完成时可通知,可用于动画完成后做一些特定的事
设计模式下的动画预览(必须明确启用)
支持手动控制动画(暂停/恢复/跳转)
参考资料
[1]
WpfAnimatedGif: https://nuget.org/packages/WpfAnimatedGif
[2]wiki: https://github.com/XamlAnimatedGif/WpfAnimatedGif/wiki
以上是关于为WPF播放GIF伤神不?的主要内容,如果未能解决你的问题,请参考以下文章
C# wpf BitmapImage从本地资源获得未知像素大小的图片,如何将其对象设为指定大小