是否可以使用SkiaSharp访问基础Xamarin UI元素?

时间:2017-06-16 10:49:30

标签: c# image-processing xamarin xamarin.forms skiasharp

在跨平台的Xamarin.Forms应用程序中,我想在其他UI元素之上添加一个SKCanvas,以允许用户绘制例如在图像上。我知道可以将图像直接加载到SKCanvas中,但图像并不是我需要的唯一应用程序。

一个完美的解决方案是能够将页面的底层内容(包括其所有UI元素)加载到Canvas / Surface中,以便用户可以在其上绘制并将绘图+底层内容保存到图像中(可能使用快照方法?)。

这可能吗?

1 个答案:

答案 0 :(得分:0)

我没有找到一种完全按照最初的计划进行操作的方法,但是最终做了一个可以同时满足要求的变通方法。

我在内容的顶部添加了一个透明的画布,这样基础内容将通过画布显示,但是画布上的所有内容始终会绘制在顶部。图纸已与内容分开保存和传输,并在需要时重新绘制。根据需要,当用户需要同时导出两者以实现快照/共享/导出功能时,我随后将基础内容作为图像加载到画布中,并将其与画布中的绘图一起导出到新图像中。