gpt4 book ai didi

xamarin - Xamarin 中是否有 Canvas 控件的等价物

转载 作者:行者123 更新时间:2023-12-04 14:46:32 24 4
gpt4 key购买 nike

我需要能够在 Xamarin Forms 中进行一些直接绘图。是否有与 Canvas 等效的控件?我在某个地方看到了可能是 AbsoluteLayout,但我需要一些我可以执行的东西,例如,在其上执行 DrawStringDrawArc。有这样的东西存在吗,还是必须要创建自定义控件?

最佳答案

试试 SkiaSharp ,它基本上允许你做的事情与在 Android 的原生 Canvas 中做的差不多。

使用它:

  1. 将 NuGet 包 SkiaSharp.Views.Forms 添加到您的项目中。

  2. 将 Skia 命名空间添加到您的页面或布局中:

xmlns:skia="clr-namespace:SkiaSharp.Views.Forms;assembly=SkiaSharp.Views.Forms"
  1. 添加 Skia Canvas View ,从后面的代码中定义将用于在其上绘制的回调方法的名称:
<skia:SKCanvasView                
x:Name="CanvasView"
PaintSurface="OnCanvasViewPaintSurface"/>
  1. 随心所欲地画:
private void OnCanvasViewPaintSurface(object sender, SKPaintSurfaceEventArgs args)
{
var info = args.Info;
var surface = args.Surface;
var canvas = surface.Canvas;

canvas.Clear();

// In this example, we will draw a circle in the middle of the canvas
var paint = new SKPaint
{
Style = SKPaintStyle.Fill,
Color = Color.Red.ToSKColor(), // Alternatively: SKColors.Red
};
canvas.DrawCircle(info.Width / 2, info.Height / 2, 100, paint);
}

关于xamarin - Xamarin 中是否有 Canvas 控件的等价物,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55936160/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com