在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
Tips:1.1.3需要.NETFramework4.6.1环境,1.1.3以上需要.NET6以上环境
2、准备Lottie动画文件
文末附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() | 播放动画 |
效果#
制作Lottie文件#
Lottie的制作流程如下:
其实就是将制作好的PS/AI图像,在AE中使用Bodymovin
插件制作导出成Json文件
Json文件解析:
渲染原理:
Bodymovin插件下载:https://github.com/bigxixi/bodymovin_cn
具体使用教程自行研究或委托设计师帮助
参考教程:
推荐Lottie动画库#
在不会AE的情况下且又没有设计师的帮助下,可以去互联网寻找公开的动画库,推荐如下两个网站
代码#
作者:傲慢与偏见
出处:https://www.cnblogs.com/chonglu/p/16923789.html
版权:本作品采用「署名-非商业性使用-相同方式共享 4.0 国际」许可协议进行许可。
声明:如果本文对您有帮助,请点击【推荐】您的赞赏将鼓励我继续创作!想跟我一起进步么?那就【关注】我吧
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
2021-11-24 在.NET5中 使用JWT鉴权授权
2021-11-24 过滤器+缓存在.NET5WebApi项目中的简单使用