为WPF播放GIF伤神不?

为WPF播放GIF伤神不?

WpfAnimatedGif

仓库地址: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/301137.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

每日一笑 | 最真实的商业模式

全世界只有3.14 % 的人关注了数据与算法之美&#xff08;图源网络&#xff0c;侵权删&#xff09;

java执行更新sql_sql server执行更新需要更多时间

我有两个表(UserTable和UserProfile)和结构&#xff1a;create table userTable(id_user int identity(1,1) primary key ,Name varchar(300) not null ,Email varchar(500) not null ,PasswordUser varchar(700) not null,userType int ,constraint usertype_fk foreign key(u…

C++ 函数映射使用讲解

想想我们在遇到多语句分支时是不是首先想到的是 switc case 和 if else if ... 这2种方式在编码方面确实简单少&#xff0c;但是当分支达到一定数量后&#xff0c;特别是分支内部有嵌套大段代码或者再嵌套分支&#xff0c; 代码会显得异常臃肿&#xff0c;十分难以维护&#xf…

昨天订了一台FSC Lifebook S6220

准备出差用 转载于:https://www.cnblogs.com/rexhost/archive/2005/03/24/124683.html

如何绕过 TPM 2.0 安装 Windows 11 操作系统?

方法一&#xff1a;删除 appraiserres.dll 文件1.下载 Windows 11 原版系统 ISO 镜像文件并解压到单独文件夹。&#xff08;一条不成熟的建议&#xff1a;现在请直接拔掉网线或关闭 WiFi&#xff09;2.打开已解压的文件&#xff0c;点击【source】文件夹。3.选择【appraiserres…

《悦趣式连锁反应》玩转STEM教育!529块积木元件,N+1款炫酷模型

▲数据汪特别推荐点击上图进入玩酷屋之前推荐的“小小机械师”成了孩子最受欢迎的玩具&#xff0c;玩了的孩子几乎没有不喜欢的。还有家长买多套送给朋友的孩子作为生日礼物。有家长来问&#xff0c;还有没有这种类型的新产品。和厂家咨询后&#xff0c;小木找到了一款“小小机…

域名的MX设置及校验方法

国内私募机构九鼎控股打造APP&#xff0c;来就送 20元现金领取地址&#xff1a;http://jdb.jiudingcapital.com/phone.html内部邀请码&#xff1a;C8E245J &#xff08;不写邀请码&#xff0c;没有现金送&#xff09;国内私募机构九鼎控股打造&#xff0c;九鼎投资是在全国股份…

昨天去驾校桩考

我通过了&#xff0c;当然。 封闭的电子考场&#xff0c;在场外待考的人们不惜屈尊偷看场内的“考题”&#xff0c;不过想来也没有什么看的&#xff0c;不还是平常一样的正反手进出库和移库嘛。 8:30正式开考之前&#xff0c;可以买票&#xffe5;10练习一次&#xff0c;有一位…

NET问答: JS 中有 LINQ SelectMany 方法的等价实现吗?

咨询区 toddmo&#xff1a;很遗憾&#xff0c;我在 Underscore 和 Jquery 中都没有找到对等实现&#xff0c;我的要求很简单&#xff0c;只要能做到 IE9 兼容即可。我的 SelectMany 实现如下&#xff1a;// SelectMany flattens it to just a list of phone numbers. IEnumerab…

java前补零工具类_java生成编码工具类,不足补0

~~~~~ 小小工具类&#xff01;你值得拥有简单粗暴&#xff0c;直接上代码import java.text.NumberFormat;/*** author: Abner* description: 编码工具类* date: Created on 2018/5/24*/public class SnUtils {/*** 生成 0000000000001 格式* param value 传入的数值* param min…

掌握神经网络,入门深度学习

从无人驾驶汽车到AlphaGo战胜人类&#xff0c;机器学习成为了当下最热门的技术。而机器学习中一种重要的方法就是深度学习。人工智能、机器学习与深度学习的关系深度学习的动机在于建立、模拟人脑进行分析学习的神经网络&#xff0c;整个过程就是使用多个处理层对数据进行高层抽…

麦克学摇滚(引用)

这支伟大的乐队开始于1987&#xff0c;在丹麦Arhus的一所中学&#xff0c;出现了一支业余性的乐队&#xff1b;Jascha Richter---一为对词曲创作极有天分&#xff0c;并且歌喉绝美的小伙子&#xff0c;与他的两位好友 —— Kare Wanscher (鼓手) 、Mikkel Lentz (吉它手)&#…

[旧博客]Python 第一次

决定学习Python&#xff0c;发现其需要安装的东西很小&#xff0c;只需要在官方网站下载和15MB左右的安装包&#xff0c;Python for windows。安装完毕就双击IDE快捷方式就打开IDE了。 你很发现IDE好像很面熟&#xff0c;对啊&#xff0c;Python原生的IDE就和一个windows笔记本…

罗马数字转换成数字java_C趣味编程百例(31)将阿拉伯数字转换为罗马数字

95.将阿拉伯数字转换为罗马数字将大于0小于1000的阿拉伯数字转换为罗马数字。阿拉伯数字与罗马数字的对应关系如下&#xff1a;*问题分析与算法设计题目中给出了阿拉伯数字与罗马数字的对应关系&#xff0c;题中的数字转换实际上就是查表翻译。即将整数的百、十、个位依次从整数…

NET问答: using 和 await using 有什么不同?

咨询区 Justin Lessard&#xff1a;我注意到在某些情况下&#xff0c;visual studio 经常推荐我这么做。await using var disposable new Disposable(); // Do something来替代下面的这种写法using var disposable new Disposable(); // Do something请问 using 和 await usi…

人造流星这种生日礼物,你有过吗?现在国外有了

全世界只有3.14 % 的人关注了数据与算法之美数据汪列举了不同“级别”的富豪是如何庆生的&#xff0c;大家看看自己处于什么水平。三流土豪的孩子过生日&#xff0c;看的是蜡烛...二流土豪的孩子过生日&#xff0c;看的是烟花...那么一流土豪的孩子看的又是什么呢&#xff1f;现…

Concurrent connection limit

这几天在做IIS 6上Web Service (WSE 2.0)的性能测试。在这个过程中陆续发现和解决了一些问题。 其中有一个问题比较有意思。我和项目组的同事发现&#xff0c;不论我们用C#写的模拟客户端用多少并发量来连接Web Service&#xff0c;服务器端监测到的并发连接数&#xff08;性能…

Material Master

02-03 03&#xff1a; 物料主的定义&#xff1a;相同的物料应该是同一个物料号。 在PP放面我们主要关心的是工厂 。 定义公司后在公司下面在定义工厂。 spro配置的时候我们可以在、后勤、物料管理、物料、创建&#xff1b; 后勤、生产、物料、创建 两种方式都可以进入物料创建…

java密码学原型算法_java密码学原型算法实现——双线性对.pdf

java密码学原型算法实现——双线性对Java 密码学原型算法实现——双线性对1、背景介绍如何使用jPBC 库进行双线性群初始化&#xff0c;包括&#xff1a;(1)质数阶双线性群(Prime-Order Bilinear Groups)&#xff1b;(2)合数阶双线性群(Composite-Order Bilinear Groups)&#x…

用啥Selenium?! .NET程序员就用自家的Playwright for .NET

提到用于Web应用程序自动化测试的工具&#xff0c;大家肯定第一个想到的就是Selenium。可以说&#xff0c;Selenium已经成为以编程方式自动化浏览器的事实标准。但是&#xff0c;Selenium作为老牌工具&#xff0c;也存在一些缺点&#xff0c;比如不支持Shadow DOM &#xff0c;…