Skiasharp,UWP 平台错误 0x747219F2 (ucrtbase.dll)
Skiasharp, error in UWP platform 0x747219F2 (ucrtbase.dll)
i 运行 在 UWP 项目上使用 SkiaSharp(通过 NuGet)的简单示例。
我正在尝试使用 SKBitmap.Decode(filename)
加载 png 图像,但抛出了此错误:
0x747219F2 (ucrtbase.dll)
An invalid parameter was passed to a function that considers invalid parameters fatal.
在 Windows 表格 运行 中的相同示例没有问题。
因为 UWP 在沙箱中运行,您只能访问文件系统中有限数量的位置而无需额外权限。在这种情况下,您的代码无法通过绝对文件路径访问任意位图。
您可以访问应用程序安装文件夹及其 ApplicationData
中的文件。
最简单的解决方案是将位图作为 Content
文件添加到您的 UWP 项目中,例如添加到 Assets
文件夹中,然后像这样访问它:
var packagePath = Package.Current.InstalledLocation;
var filename = Path.Combine( packagePath, "Assets/YourImage.png" );
SKBitmap.Decode(filename);
这应该会按预期工作。
i 运行 在 UWP 项目上使用 SkiaSharp(通过 NuGet)的简单示例。
我正在尝试使用 SKBitmap.Decode(filename)
加载 png 图像,但抛出了此错误:
0x747219F2 (ucrtbase.dll)
An invalid parameter was passed to a function that considers invalid parameters fatal.
在 Windows 表格 运行 中的相同示例没有问题。
因为 UWP 在沙箱中运行,您只能访问文件系统中有限数量的位置而无需额外权限。在这种情况下,您的代码无法通过绝对文件路径访问任意位图。
您可以访问应用程序安装文件夹及其 ApplicationData
中的文件。
最简单的解决方案是将位图作为 Content
文件添加到您的 UWP 项目中,例如添加到 Assets
文件夹中,然后像这样访问它:
var packagePath = Package.Current.InstalledLocation;
var filename = Path.Combine( packagePath, "Assets/YourImage.png" );
SKBitmap.Decode(filename);
这应该会按预期工作。