如何在 Unity 中从磁盘加载位图?

How load bitmap from disk in Unity?

我想从磁盘加载位图。我在 System.Drawing 中使用位图 class,这使得它非常简单。

但是,当我部署到 macOS 时,出现异常。

DllNotFoundException: /Users/bokken/build/ouput/Unity-Technologies/mono/external/buildscripts/add_to_build_results/monodistribution/lib/libgdiplus.dylib

是否有一种不会产生此错误的加载位图的简单方法,或者我该如何修复此错误?

Unity 是跨平台的,但 C# .NET Framework 不是。

因此,为了让您的游戏保持跨平台,您要么使用其他跨平台库(在 Internet 上发布的某个地方),要么坚持使用 Unity 的功能。

Unity 提供了一种解决方法,例如 Texture2D class。来自 this thread

的更多信息

解决方案是使用自定义代码加载位图。

看这里 解决了这个问题。

请注意,接受的答案中的 BMPLoader 没有正确绘制镜像位图,可能应该对代码进行彻底测试以解决其他可能的问题。

Unity 没有内置加载 PNG 和 JPG 格式图像的能力。