当前位置: 首页 > news >正文

WPF中加载GIF

WPF中使用GIF的方式:

wpf中是不支持直接使用image来存放gif图的。


第一种:使用XamlAnimatedGif

1,打开Nuget,搜索XamlAnimatedGif,如果使用.NET5,则安装KsWare.XamlAnimatedGif.Wpf.StrongName,如下图所示。
在这里插入图片描述2,前台页面添加命名空间

xmlns:gif="https://github.com/XamlAnimatedGif/XamlAnimatedGif"

3,使用Image控件,为其设置附加属性

<Image Grid.Row="1" gif:AnimationBehavior.SourceUri="Image/faceLogin.gif"  Width="400"     gif:AnimationBehavior.RepeatBehavior="Forever"

===================

4,注:一般的gif都能正常使用,但如果gif图过大,则会出现卡顿现象,可以试试第二种方式,使用LottieSharp,但gif图必须转成 json格式

第二种:使用LottieSharp

1,打开Nuget,搜索LottieSharp,安装入下图所示。
在这里插入图片描述2,前台页面添加命名空间

 xmlns:lottieSharp="clr-namespace:LottieSharp;assembly=LottieSharp" 

3,使用lottieSharp控件,为其设置附加属性

<Grid Grid.Row="1">
                <lottieSharp:LottieAnimationView 
                x:Name="LottieAnimationView" 
                DefaultCacheStrategy="None" 
                AutoPlay="True" 
                VerticalAlignment="Center" 
                HorizontalAlignment="Center">
                </lottieSharp:LottieAnimationView>
            </Grid>

4,后台初始化时,指定资源

 var path = System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "faceLogin.json");
            LottieAnimationView.PauseAnimation();
            LottieAnimationView.FileName = path;
            LottieAnimationView.PlayAnimation();

5,附一个json文件
pic.json

相关文章:

  • 快来直播带你了解中国互联网大厂布局元宇宙现状如何?
  • 配置JVM堆栈大小
  • 新美域杂志新美域杂志社新美域编辑部2022年第6期目录
  • 安卓毕业设计源码基于Uniapp+SSM实现的新闻APP
  • Qt报错: error: C2001: 常量中有换行符,解决QT运行时有中文乱码
  • 数据结构:2.1 .1进程与线程——进程
  • (附源码)springboot助农电商系统 毕业设计 081919
  • Idea debug 调试运行慢
  • PostgreSQL修炼之道笔记之基础篇(六)
  • Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第12章 Vue3.X新特性解析 12.9 Refs 模板
  • 有序矩阵中第K小元素[优先队列PriorityQueue]
  • 闲谈JVM(一):浅析JVM Heap参数配置
  • 商城小程序系统,商城源码
  • 元宇宙电商-NFG系统带你布局数字藏品领域
  • statsD学习笔记
  • 30秒的PHP代码片段(1)数组 - Array
  • Android组件 - 收藏集 - 掘金
  • Javascript Math对象和Date对象常用方法详解
  • js数组之filter
  • linux安装openssl、swoole等扩展的具体步骤
  • Redash本地开发环境搭建
  • Selenium实战教程系列(二)---元素定位
  • springboot_database项目介绍
  • XML已死 ?
  • 阿里云容器服务区块链解决方案全新升级 支持Hyperledger Fabric v1.1
  • 三分钟教你同步 Visual Studio Code 设置
  • 事件委托的小应用
  • 算法-插入排序
  • Semaphore
  • ​一、什么是射频识别?二、射频识别系统组成及工作原理三、射频识别系统分类四、RFID与物联网​
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • # 数论-逆元
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (欧拉)openEuler系统添加网卡文件配置流程、(欧拉)openEuler系统手动配置ipv6地址流程、(欧拉)openEuler系统网络管理说明
  • (十五)使用Nexus创建Maven私服
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (转)大道至简,职场上做人做事做管理
  • .bat批处理(六):替换字符串中匹配的子串
  • .NET CF命令行调试器MDbg入门(四) Attaching to Processes
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .net core使用ef 6
  • .NET处理HTTP请求
  • .NET企业级应用架构设计系列之技术选型
  • @CacheInvalidate(name = “xxx“, key = “#results.![a+b]“,multi = true)是什么意思
  • [AR]Vumark(下一代条形码)
  • [bug总结]: Feign调用GET请求找不到请求体实体类
  • [BUUCTF]-PWN:wustctf2020_number_game解析(补码,整数漏洞)
  • [Docker]三.Docker 部署nginx,以及映射端口,挂载数据卷
  • [Linux] MySQL数据库之索引
  • [NOI2012]迷失游乐园
  • [nowCoder] 两个不等长数组求第K大数
  • [Sdoi2010]地精部落