前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >为WPF播放GIF伤神不?

为WPF播放GIF伤神不?

作者头像
沙漠尽头的狼
发布2021-12-01 16:14:33
8470
发布2021-12-01 16:14:33
举报
文章被收录于专栏:Dotnet9

为WPF播放GIF伤神不?

WpfAnimatedGif

仓库地址:https://github.com/XamlAnimatedGif/WpfAnimatedGif

Nuget 包:WpfAnimatedGif[1]

今天介绍一个用于在 WPF 中显示动态 GIF 图片的库,可在 XAML 或代码中使用:WpfAnimatedGif

简单易用:在 XAML 中,使用AnimatedSource附加属性设置需要显示的gif图片(替换Source属性):

代码语言:javascript
复制
<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 元数据的重复计数):

代码语言:javascript
复制
<Image gif:ImageBehavior.RepeatBehavior="3x"
       gif:ImageBehavior.AnimatedSource="Images/animated.gif" />

当然,您也可以在代码中设置gif图片:

代码语言:javascript
复制
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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-07-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dotnet9 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 为WPF播放GIF伤神不?
    • 特色
      • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档