Skiasharp,UWP平台0x747219F2(ucrtbase.dll)中的错误

Skiasharp,UWP平台0x747219F2(ucrtbase.dll)中的错误,uwp,skiasharp,Uwp,Skiasharp,我在UWP项目上使用SkiaSharep(由NuGet提供)运行了一个简单的示例。 我试图使用SKBitmap.Decode(文件名)加载png图像,但引发了以下错误: 0x747219F2(ucrtbase.dll) 向认为无效参数为致命参数的函数传递了无效参数 Windows窗体中的同一个示例运行时没有问题。因为UWP在沙箱中运行,所以您只能访问文件系统中数量有限的位置,而无需附加权限。在这种情况下,代码不能通过绝对文件路径访问任意位图 您可以访问应用程序的安装文件夹及其Applicatio

我在UWP项目上使用SkiaSharep(由NuGet提供)运行了一个简单的示例。 我试图使用
SKBitmap.Decode(文件名)
加载png图像,但引发了以下错误:

0x747219F2(ucrtbase.dll)

向认为无效参数为致命参数的函数传递了无效参数


Windows窗体中的同一个示例运行时没有问题。

因为UWP在沙箱中运行,所以您只能访问文件系统中数量有限的位置,而无需附加权限。在这种情况下,代码不能通过绝对文件路径访问任意位图

您可以访问应用程序的安装文件夹及其
ApplicationData
中的文件

最简单的解决方案是将位图作为
内容
文件添加到UWP项目中,例如添加到
资产
文件夹中,然后按如下方式访问它:

var packagePath = Package.Current.InstalledLocation;
var filename = Path.Combine( packagePath, "Assets/YourImage.png" );
SKBitmap.Decode(filename);

这应该可以按预期工作。

因为UWP在沙箱中运行,所以您只能访问文件系统中数量有限的位置,而无需额外的权限。在这种情况下,代码不能通过绝对文件路径访问任意位图

您可以访问应用程序的安装文件夹及其
ApplicationData
中的文件

最简单的解决方案是将位图作为
内容
文件添加到UWP项目中,例如添加到
资产
文件夹中,然后按如下方式访问它:

var packagePath = Package.Current.InstalledLocation;
var filename = Path.Combine( packagePath, "Assets/YourImage.png" );
SKBitmap.Decode(filename);

这应该可以正常工作。

文件名是什么?你能把路贴上去吗?该文件是您的应用程序包的一部分吗?它是我的电脑硬盘中的一个结果路径。
文件名是什么?你能把路贴上去吗?该文件是您的应用程序包的一部分吗?它是我的电脑硬盘中的一个结果路径。