在Xamarin中是否有画布控件的等价物

在Xamarin中是否有画布控件的等价物,xamarin,xamarin.forms,Xamarin,Xamarin.forms,我需要能够以Xamarin的形式直接画画。是否存在与画布等效的控件?我在某个地方看到了AbsoluteLayout,但我需要一些我可以执行的东西,例如,在上执行DrawString或DrawArc。这样的东西存在吗,或者你必须创建一个自定义控件吗?试试看,它基本上允许你做更多或更少的事情,而不是在Android的原生画布上 要使用它: 将NuGet包skiaSharep.Views.Forms添加到项目中 将Skia命名空间添加到页面或布局: xmlns:skia=“clr命名空间:SkiaSh

我需要能够以Xamarin的形式直接画画。是否存在与画布等效的控件?我在某个地方看到了AbsoluteLayout,但我需要一些我可以执行的东西,例如,在上执行
DrawString
DrawArc
。这样的东西存在吗,或者你必须创建一个自定义控件吗?

试试看,它基本上允许你做更多或更少的事情,而不是在Android的原生画布上

要使用它:

  • 将NuGet包
    skiaSharep.Views.Forms
    添加到项目中

  • 将Skia命名空间添加到页面或布局:

  • xmlns:skia=“clr命名空间:SkiaSharp.Views.Forms;assembly=SkiaSharp.Views.Forms”
    
  • 添加Skia画布视图,定义回调方法的名称,该方法将用于从代码隐藏中绘制:
  • 
    
  • 你想画什么就画什么:
  • private void OnCanvasViewPaintSurface(对象发送方,SKPaintSurfaceeeEventArgs)
    {
    var info=args.info;
    变量表面=参数表面;
    var canvas=surface.canvas;
    canvas.Clear();
    在这个例子中,我们将在画布中间画一个圆。
    var paint=新SKPaint
    {
    Style=SKPaintStyle.Fill,
    Color=Color.Red.ToSKColor(),//或者:SKColors.Red
    };
    画布.画圈(信息宽度/2,信息高度/2100,油漆);
    }
    
    我添加了一个答案,希望能对您有所帮助。Skia的文档非常棒,而且该库非常易于使用。如果您认为我的回答恰当,请记住将其标记为已接受!谢谢你的回答。不过,我希望有一个Xamarin自带的解决方案。这个NuGet是相当标准的,但是是的,默认情况下它不附带表单。这应该不是问题。是的,通过搜索,SkiaSharep是最好的方法,有一些关于使用SkiaSharep的文章,你可以看看:和