我在UWP项目上使用SkiaSharp(由NuGet)运行一个简单的示例。
我尝试使用SKBitmap.Decode(filename)
加载png图像,但会抛出此错误:
0x747219F2(ucrtbase.dll)
将无效参数传递给认为无效参数致命的函数。
Windows窗体中的相同示例运行没有问题。
答案 0 :(得分:2)
由于UWP在沙箱中运行,因此您只能在没有其他权限的情况下访问文件系统中的有限数量的位置。在这种情况下,代码无法通过绝对文件路径访问任意位图。
您可以访问应用程序的安装文件夹及其ApplicationData
中的文件。
最简单的解决方案是将位图作为Content
文件添加到您的UWP项目中,例如添加到Assets
文件夹,然后像这样访问它:
var packagePath = Package.Current.InstalledLocation;
var filename = Path.Combine( packagePath, "Assets/YourImage.png" );
SKBitmap.Decode(filename);
这应该按预期工作。