Uwp SkiaSharp SKPaint导致访问冲突错误

Uwp SkiaSharp SKPaint导致访问冲突错误,uwp,xamarin.uwp,skiasharp,skia,Uwp,Xamarin.uwp,Skiasharp,Skia,我在PaintSurface函数中访问SKSurface的SKCanvas。此函数启动后,我得到错误:System.AccessViolationException:'试图读取或写入受保护内存。这通常表示其他内存已损坏。” private async void cnv_PaintSurface(object sender, SKPaintSurfaceEventArgs e) { SKSurface surface = e.Surface; SKCanvas c

我在PaintSurface函数中访问SKSurface的SKCanvas。此函数启动后,我得到错误:System.AccessViolationException:'试图读取或写入受保护内存。这通常表示其他内存已损坏。”

private async void cnv_PaintSurface(object sender, SKPaintSurfaceEventArgs e)
{

        SKSurface surface = e.Surface;
        SKCanvas canvas = surface.Canvas; 

        **SkiaSharp.Extended.Svg.SKSvg svg = new SkiaSharp.Extended.Svg.SKSvg();
        svg.Load(await GetStream());**

        using (SKPaint paint = new SKPaint())
        {
            canvas.Clear(Colors.Black.ToSKColor());  //here is the error
            canvas.DrawPicture(svg.Picture, paint);
        }
}

private static async Task<Stream> GetStream()
{
    StorageFile file = await Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync("car.svg");

    var inputStream = await file.OpenReadAsync();
    return inputStream.AsStreamForRead();
}```
private async void cnv_PaintSurface(对象发送方,skpaintsurfaceeeventargs e)
{
SKSurface=e.表面;
SKCanvas canvas=surface.canvas;
**SkiaSharp.Extended.Svg.SKSvg Svg=new SkiaSharp.Extended.Svg.SKSvg();
Load(wait GetStream())**
使用(SKPaint paint=新SKPaint())
{
canvas.Clear(Colors.Black.ToSKColor());//错误如下
canvas.DrawPicture(svg.Picture,paint);
}
}
私有静态异步任务GetStream()
{
StorageFile file=Wait Windows.ApplicationModel.Package.Current.InstalledLocation.GetFileAsync(“car.svg”);
var inputStream=await file.OpenReadAsync();
返回inputStream.AsStreamForRead();
}```

我与官方进行了测试,不幸的是,我们无法重现此问题。请提供测试,我将根据您的演示进行编辑。我已编辑代码以显示从何处获得数据流我担心您无法直接在Xamarin表单项目中使用windows存储api,我已使用
var s=assembly.GetManifestResourceStream(“SkiaShareFormsDemos.ross.svg”)
进行测试。我可以正确加载svg。好的-谢谢。它可以用于UWP项目吗?是的,我还没有测试过,但我认为SkiaSharp可以用于纯UWP项目。还可以使用win2d渲染svg图片。