基于 SkiaSharp 的 WPF  AvaloniaUI 极简动图播放方案 核心特性多平台支持支持 WPF 和 AvaloniaUI目前未对移动端进行测试。多格式兼容支持 Lottie(.json)GIF、WebP 等格式动图未来计划支持Apng。极致性能动图利用SKCodec进行流式加载逐帧解码极低的内存占用。Lottie则利用Skottie极致流畅。动画驱动使用框架动画库Animation相比定时器方案帧率更高更稳定。WPF可以设置更高的帧率而非默认的60FPS。极简API通过附加属性或标记扩展以原生Image控件作为渲染器。灵活控制预加载帧数支持自动计算、手动配置也可禁用或全量缓存。默认自动播放可设置循环次数支持MVVM。性能表现1、lottie动画2、gif-800x600-50fps 安装通过 NuGet 包管理器安装# WPF 版本 Install-Package AnimationImage.WPF # Avalonia 版本 Install-Package AnimationImage.Avalonia使用方法参考2个Demo项目WPFxmlns:aniclr-namespace:AnimationImage.WPF;assemblyAnimationImage.WPF!-- 指定帧率为144永久循环 -- Image ani:AnimationBehavior.AnimatableBitmap[path] ani:AnimationBehavior.ForceFPS144 ani:AnimationBehavior.RepeatBehaviorForever / !-- 全量缓存gif/webp有效 -- Image Source{ani:AnimatableBitmap [path],PreloadCountPreloadOptions.Full} / !-- 设置渲染比例Lottie有效 -- Image Source{ani:AnimatableBitmap [path],RenderScale0.5} / !-- 也可以用到拥有Brush类型属性的控件 -- Rectangle Fill{ani:AnimatableBitmap [path]} / Border Background{ani:AnimatableBitmap [path]} / !-- 取消自动播放 -- Image ani:AnimationBehavior.AutoStartfalse …… / !-- 进度条 -- Slider Maximum{Binding ElementNameimg, Path(ani:AnimationBehavior.AnimatableBitmap).Metadata.Duration} Value{Binding ElementNameimg, Path(ani:AnimationBehavior.AnimationTime), ModeTwoWay} / !-- 命令绑定 -- StackPanel DataContext{Binding ElementNameimg, Path(ani:AnimationBehavior.AnimatableBitmap)} OrientationHorizontal Button Command{Binding BeginCommand, ModeOneTime} ContentPlay / Button Margin10,0 Command{Binding PauseCommand, ModeOneTime} ContentPause / Button Command{Binding StopCommand, ModeOneTime} ContentStop / /StackPanelAvalonia用法与WPF基本相同xmlns:aniusing:AnimationImage.Avalonia!-- 永久循环 -- Image ani:AnimationBehavior.AnimatableBitmap[path] ani:AnimationBehavior.LoopCount-1 /