[英]Draw spline(smooth path) with SkiaSharp lib on Xamarin.Forms?
我正在使用Xamarin表單制作應用程序。
我想使用SKPath繪制一條平滑的路徑(樣條線),但是我找不到實現此目的的簡單方法。
Skiasharp當前不支持它,除非我自己順利進行操作。
謝謝。
我不確定您要問的是什么,但是有兩個方面可以解決:
使用SKPaint.IsAntialias
的抗鋸齒:
var paint = new SKPaint {
IsAntialias = true
};
canvas.DrawPath (path, paint);
路徑曲線:
如果您需要路徑中的曲線(例如圓角),則需要使用各種曲線方法。 這些包括但不限於SKPath.ArcTo()
和'SKPath.CubicTo()
:
var path = new SKPath();
path.MoveTo(10, 10);
path.ArcTo(SKRect.Create(10, 10, 30, 30), 0, 45);
路徑文檔: https : //developer.xamarin.com/api/type/SkiaSharp.SKPath/
SkiaSharp支持三次貝塞爾曲線。 因此,您可以做的是,將樣條曲線划分為段(點確定段端點),然后使用三次貝塞爾曲線繪制每個段。 為此,您需要在樣條曲線的每個點之間引入兩個控制點。 需要選擇這些點,以使相鄰線段中的曲線平滑連接。
我只是做了一個實現。 public static SKPath CreateSpline(params SKPoint[] Points)
方法生成一條路徑,可用於在點之間繪制樣條線。 您可以在此處查看實現:
例:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.