在WPF中使用JSON(Lottie)动画

摘要#

Lottie 是Airbnb开源的一个面向 iOS、Android、React Native 的动画库,能分析 Adobe After Effects 导出的动画,并且能让原生 App 像使用静态素材一样使用这些动画,完美实现动画效果。在WPF中使用Lottie比直接使用Gif图像所占内存更小且不失真完美还原设计师的动画效果。

代码实现#

1、安装LottieSharp包
Install-Package LottieSharp -Version 1.1.3

image-20221124224712998

Tips:1.1.3需要.NETFramework4.6.1环境,1.1.3以上需要.NET6以上环境

2、准备Lottie动画文件

image-20221124224736054

文末附Lottie下载网站,或自行寻求设计师帮助

3、XAML编写
<lottie:LottieAnimationView
            x:Name="PART_Lottie"
            HorizontalAlignment="Center"
            VerticalAlignment="Center"
            AutoPlay="True"
            FileName="{Binding CurrentFile}" />
4、播放动画

在控件上设置AutoPlay为True可自动播放,也可手动在后台代码中使用PlayAnimation()播放,后台操作播放需要通过控件去访问方法。

属性说明:

属性/事件/方法 描述
AutoPlay True/False 为True时自动播放动画
FileName 文件路径 Lottie的文件路径
RepeatCount -1..N 重复次数,-1表示永远重复
Url 文件地址 播放在线json文件的动画
IsPlaying True/False 是否正在播放
OnStop(事件) 动画停止时触发,RepeatCount设为-1时永远不会触发
PlayAnimation() 播放动画

效果#

1

制作Lottie文件#

Lottie的制作流程如下:

img

其实就是将制作好的PS/AI图像,在AE中使用Bodymovin插件制作导出成Json文件

Json文件解析:

img

渲染原理:

img

Bodymovin插件下载:https://github.com/bigxixi/bodymovin_cn

具体使用教程自行研究或委托设计师帮助

参考教程:

Lottie动画制作整理

保姆级教程|Lottie动效设计完全指南

写给新手的Lottie指南

大厂设计都在用的动画导出工具——附详细流程

推荐Lottie动画库#

在不会AE的情况下且又没有设计师的帮助下,可以去互联网寻找公开的动画库,推荐如下两个网站

代码#

https://github.com/luchong0813/WPF_LottieAnimation_Demo

作者:傲慢与偏见

出处:https://www.cnblogs.com/chonglu/p/16923789.html

版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。

声明:如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧

posted @   傲慢与偏见luc  阅读(1756)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
历史上的今天:
2021-11-24 在.NET5中 使用JWT鉴权授权
2021-11-24 过滤器+缓存在.NET5WebApi项目中的简单使用
more_horiz
keyboard_arrow_up dark_mode palette
选择主题
menu
点击右上角即可分享
微信分享提示