如何使用SKSurface.Snapshot制作表面快照?

问题描述

以下代码破坏了代码,当我单击按钮时,我的应用程序关闭了。

我试图在方法内部拍摄快照,但它使应用程序崩溃。

SKSurface CenterSurface;
void canvasView_BubbleCenterCircle(object sender,SKPaintSurfaceEventArgs e)
{
    var surface = e.Surface;
    var canvas = surface.Canvas;

    canvas.Clear(SKColors.Black);

    var width = e.Info.Width;
    var height = e.Info.Height;

    // Move the origin to the center
    canvas.Translate(width / 2,height / 2);

    canvas.DrawLine(-220,220,whitePaint);
    canvas.DrawLine(0,-220,whitePaint);
        
    // Draw base graphics
    canvas.DrawCircle(0,180f,whitePaint);

    canvas.DrawCircle(x,y,50f,whitePaint);
    canvas.DrawLine(x,x,y + 35,y - 35,x + 35,whitePaint);
    canvas.DrawLine(x - 35,whitePaint);

    CenterSurface = surface;       
}


private async void cameraButton_Clicked(object sender,EventArgs e)
{
    FinalCenterImage = CenterSurface.Snapshot();
    //...
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)