在 Xamarin.Forms 上使用 SkiaSharp lib 绘制样条线(平滑路径)?

Bri*_*Lee 3 c# 2d xamarin xamarin.forms skiasharp

我正在使用 Xamarin 表单制作应用程序。

我想用 SKPath 绘制一条平滑的路径(样条线),但我无法找到一种简单的方法来实现这一点。

Skiasharp 目前不支持它,除非我自己顺利走路。

谢谢。

Pet*_*her 5

SkiaSharp 支持三次贝塞尔曲线。因此,您可以做的是将样条线分成段(点确定段端点),并使用三次贝塞尔曲线绘制每个段。为此,您需要在样条曲线中的每个点之间引入两个控制点。需要选择这些点,以便相邻线段中的曲线平滑连接。

我刚刚做了一个实现。该public static SKPath CreateSpline(params SKPoint[] Points)方法生成一条路径,可用于在点之间绘制样条线。您可以在此处查看实施情况:

https://github.com/PeterWaher/IoTGateway/blob/master/Script/Waher.Script.Graphs/Functions/Plots/Plot2DCurve.cs

例子:

样条线示例

  • 根据IoTGateway上的许可证,此处链接的代码不可用于商业用途(需要商业许可证),因此复制/粘贴时要小心。 (2认同)