我正在调查Xamarin作为我们的跨平台解决方案的选项。对我们而言,我们可以创建自己的自定义交互式控件至关重要。
我见过的示例(http://devcenter.wintellect.com/jprosise/supercharging-xamarin-forms-with-custom-renderers-part-5)展示了如何创建自定义渲染控件。不幸的是,他们都基本上展示了如何根据平台不同地渲染到Canvas。这对我们来说是不可接受的。
是否有真正的跨平台方式来创建Xamarin自定义渲染控件而无需在每个平台特定实现中编写相同的绘图逻辑?
答案 0 :(得分:5)
我最近不得不做出同样的决定,最终我决定使用SkiaSharp。
答案 1 :(得分:1)
https://github.com/praeclarum/NGraphics
NGraphics是一个用于在.NET上渲染矢量图形的跨平台库。它使用高质量的本机渲染器为即时和保留模式图形提供统一的API。
您可以将其用于UI小部件的跨平台呈现。或者作为图形丰富的交互式视图的基础。或者您可能只想要一种简单的方法来导入和导出SVG和PNG文件。无论哪种方式,我相信你会在这里找到一些有趣的东西。
答案 2 :(得分:0)
另一个替代方案可以是SkiaSharp,它具有比NControl / NGraphics更多的功能
了解详情: https://blog.xamarin.com/cross-platform-2d-graphics-with-skiasharp/
SkiaSharp远远优于NGraphics,因为它使用了Android和Chrome的实际功能。此外,还有硬件/ GPU加速画布和视图。这是源链接:github.com/mono/SkiaSharp