我在绝对布局上使用坐标来标记某些点,即:
new Point() { X = 0, Y = 0 };
new Point() { X = 0, Y = 300 };
new Point() { X = 200, Y = 0 };
如何从点到点绘制线条,连接它们,在这种情况下是三角形?
答案 0 :(得分:0)
SkiaSharp
很棒,但如果您不需要Skia的所有功能,NControl / NGraphics可以避免本机库的开销,增加的应用程序大小,初始化时间和内存消耗。
在绘制点的路径方面,这是一个非常简单的例子:
PathOp
public class PathControl : NControlView
{
public IEnumerable<PathOp> Path { get; set; }
public override void Draw(ICanvas canvas, Rect rect)
{
if (Path != null)
canvas.DrawPath(Path, new Pen(Colors.Red, 5));
}
}
然后,您可以在运行时分配IEnumerable<PathOp>
:
pathControl.Path = new PathOp[] {
new MoveTo (40, 60),
new LineTo (120, 60),
new LineTo (80, 30),
new ClosePath ()
};
pathControl.Invalidate();
从此answer获取XAML并添加:
<nc:PathControl x:Name="pathControl" AbsoluteLayout.LayoutBounds="1,1,1,1" AbsoluteLayout.LayoutFlags="All" />
你可以产生这个:
使用更多矢量工作,如下所示:
re:Xamarin.Forms - How To Achieve 45 deg. Angled Background Color