0

我在 UWP 项目上使用 SkiaSharp(由 NuGet)运行了一个简单的示例。我正在尝试使用加载 png 图像,SKBitmap.Decode(filename)但会引发此错误:

0x747219F2 (ucrtbase.dll)

将无效参数传递给认为无效参数致命的函数。

Windows 窗体中的相同示例运行没有问题。

4

1 回答 1

2

由于 UWP 在沙盒中运行,因此您只能访问文件系统中有限数量的位置,而无需其他权限。在这种情况下,您的代码无法通过绝对文件路径访问任意位图。

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

最简单的解决方案是将位图作为Content文件添加到您的 UWP 项目中,例如添加到Assets文件夹中,然后像这样访问它:

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

这应该按预期工作。

于 2018-02-25T12:57:06.563 回答