如何在 WPF/XAML 项目中使用 Rive 动画?
How can I use Rive animations in a WPF / XAML project?
我有一个 *.rive
文件,我想在我的 WPF 应用程序中像加载微调器一样使用它。
有任何方法可以使用图像、媒体元素等在 WPF 中使用 rive 文件
需要转成gif吗?
简答:你不能
- Rive 不仅仅是一个动画工具,而是一个动画框架,需要针对不同类型的宿主专门编写 runtime
- Rive's documentation says they only have first-party support 用于:
- Web(和第一方 React 包装器)。
- iOS、Android、Flutter、Tizen
- React Native
- “C++”
- 注意缺少 WPF、XAML、WinUI、UWP、Jupiter、Silverlight、WinForms 等。
- 微软 2021 年的桌面开发者故事肯定 有趣,不是吗?
- 自 Windows 7 以来,MS 一直没有清晰一致的桌面故事,令人沮丧,and still awful。
我注意到“C++”不是一个平台,只是一种语言,所以他们这样描述它很奇怪。反正their C++ runtime ships with a renderer for Skia,用处不大
长答案:你可以,如果你想付出努力
- 克隆并构建他们的 C++ 运行时。
- 将 Skia 渲染器替换为您自己创建的以某种方式渲染到 WPF 的新渲染器。
- 您可以在 WPF 中托管 Skia,但它是一个不透明的表面:Rive 动画的结构和内容不会由 WPF 直接呈现,这会导致效率低下。
- 此外,我认为 WPF 仍然 卡在 DirectX 9 上,Rive 中可能有一些功能可以从 DX12 上受益。
- 剩下的就是 reader 的练习。
我有一个 *.rive
文件,我想在我的 WPF 应用程序中像加载微调器一样使用它。
有任何方法可以使用图像、媒体元素等在 WPF 中使用 rive 文件
需要转成gif吗?
简答:你不能
- Rive 不仅仅是一个动画工具,而是一个动画框架,需要针对不同类型的宿主专门编写 runtime
- Rive's documentation says they only have first-party support 用于:
- Web(和第一方 React 包装器)。
- iOS、Android、Flutter、Tizen
- React Native
- “C++”
- 注意缺少 WPF、XAML、WinUI、UWP、Jupiter、Silverlight、WinForms 等。
- 微软 2021 年的桌面开发者故事肯定 有趣,不是吗?
- 自 Windows 7 以来,MS 一直没有清晰一致的桌面故事,令人沮丧,and still awful。
- 微软 2021 年的桌面开发者故事肯定 有趣,不是吗?
我注意到“C++”不是一个平台,只是一种语言,所以他们这样描述它很奇怪。反正their C++ runtime ships with a renderer for Skia,用处不大
长答案:你可以,如果你想付出努力
- 克隆并构建他们的 C++ 运行时。
- 将 Skia 渲染器替换为您自己创建的以某种方式渲染到 WPF 的新渲染器。
- 您可以在 WPF 中托管 Skia,但它是一个不透明的表面:Rive 动画的结构和内容不会由 WPF 直接呈现,这会导致效率低下。
- 此外,我认为 WPF 仍然 卡在 DirectX 9 上,Rive 中可能有一些功能可以从 DX12 上受益。
- 剩下的就是 reader 的练习。