这期究极折磨,因为资料太少了,然后出了问题真不知道怎么解决。(已解决)

好歹彻夜研究了好几天,总算是起步了。 本来我是想用Skias.Maui.Controls;的SKasView来当画板的,但是一点一点资料都没有,官方的API文档又找不到相关的设置。

然后退而求其次用SKCanvasView的基类,官方的 Microsoft.aphics;来画图,用SkiaSharp来快速渲染,但是就这个工作都折磨死我了。

然后仔细的阅读了官方的启动手册(这个库我没有找到API文档)

终于解决了画图的问题。

首先我们要在App.xaml.cs中定义我们的Draw函数。


public class Graphiwabawable
{
    public void Draw(ICanvas, ReRect)
    {
        using (var paint = new SKPaint())
        {
            paint.Color = SKColors.Red;

            canvas.DrawRecle(0,0,50,50);
        }
    }
}


可以看到,我们是成功的画了个框。

但是我们可以导入更加便利的画图库:SkiaSharp

导入SkiaStrols,这样子我们就可以使用其控件。 添加一个画板控件,可以命名,绑定一个PaintSurface刷新,Touch触摸处理。

然后,最最重要的,在MauiProgram.cs中,添加初始化语句,这句话卡了我四五天!!


protected override void OnPurface(SKPaintSuntArgs e)
{
    this.drawable.Draw(e.Surface, e.Info.Rect);
    this.Inurface();
}

补全这些函数,我们就可以使用我们的控件啦。

可以看到画了个框框


这个是我们的基础画图库,更新UI就会调用这里。


 
    
  

 

接着在MainPage.xaml中注册我们的画板,并且为我们的控件绑定画板。

 

嘉立创PCB
全部评论 默认 最新
已折叠部分评论 展开
没有更多啦~