Xamarin跨平台画布

本文关键字:跨平台 Xamarin | 更新日期: 2023-09-27 18:09:06

我正在研究Xamarin作为我们跨平台解决方案的一个选项。对于我们来说,能够创建我们自己的自定义交互式控件是至关重要的。

我看到的示例(http://devcenter.wintellect.com/jprosise/supercharging-xamarin-forms-with-custom-renderers-part-5)展示了如何创建自定义呈现控件。不幸的是,它们基本上都展示了如何根据平台不同渲染到画布。这是我们不能接受的。

是否有一个真正的跨平台的方式来创建Xamarin自定义渲染控件而不编写相同的绘图逻辑在每个平台特定的实现?

Xamarin跨平台画布

我最近不得不做出同样的决定,最终我决定使用skasharp。

  • skasharp是一个。net绑定到Skia库,并继承了这个库的特性和功能,所以在某种程度上,它也可以从原始的Skia文档/示例/社区中受益
  • SkiaSharp使用的是Android和Chrome的实际动力。此外,还有一个硬件/GPU加速画布和视图。
  • 选择NGraphics的唯一原因是它支持SVG,但现在从2016年11月发布的1.55版本开始,SkiSharp支持加载。SVG文件。
  • Xamarin还发布了Xamarin的库。表单和Xamarin Android和iOS平台(skasharp Views &层)
  • 任何Xamarin产品都不仅通过Github,还通过Xamarin网站和论坛以及Xamarin用户社区提供支持。
  • 有了Xamarin,图书馆在未来的发展和完善有了更好的机会。
  • 单个开发人员可能难以在数年内改进或保持项目活跃。

https://github.com/praeclarum/NGraphics

NGraphics是一个用于在。net上渲染矢量图形的跨平台库。它为使用高质量的本机渲染器的即时和保留模式图形提供了统一的API。

您可以使用它来跨平台呈现UI小部件。或者作为图形丰富的交互式视图的基础。或者您只是想要一种简单的方法来导入和导出SVG和PNG文件。不管怎样,我相信你会在这里找到一些有趣的东西。

另一个选择可以是SkiaSharp,它比NControl/NGraphics有更多的功能

阅读更多:https://blog.xamarin.com/cross-platform-2d-graphics-with-skiasharp/

SkiaSharp远优于NGraphics,因为它使用的是真正驱动Android和Chrome的东西。此外,还有一个硬件/GPU加速画布和视图。这里是源链接:github.com/mono/SkiaSharp