我怎么能够 ;将从.dll 中的Properties.Resources 读取的图像数据转换为Image 或texture2D 或sprite?
How can I ; convert image data read from Properties.Resources in a .dll to Image or texture2D or sprite?
首先,出于某种原因,我无法在我的 C# 脚本中使用 System.Drawing。我在 Unity3d 中工作,每次加载脚本时库引用都会被踢出。
我正在使用此方法访问我的 dll 的资源
//DaiM.Reality is the namespace
// fgla is a class
Assembly asm = typeof(DaiM.Reality.fgla).Assembly;
string resourcename = asm.GetName().Name + ".Properties.Resources";
ResourceManager rm = new ResourceManager(resourcename, asm);
Texture2D imh = (Texture2D)rm.GetObject("flag"); // the problem
// error :: InvalidCastException: Cannot cast from source type to destination type.
如果我可以使用 System.Drawing 那么我可以只从位图中读取像素并将它们应用到新的 Texture2D。但统一不会让我使用 System.Drawing 。我猜那是因为System.Drawing库中的某些类和UnityEngine库冲突
1) System.Drawing 未包含在 Unity 的默认库中。您应该自己将 System.Drawing.dll 导入到您的项目中。更多信息:
http://answers.unity3d.com/questions/53170/using-drawing-package-like-systemdrawing.html
2) 您尝试导入的 DLL 应使用 Target Framework 选项进行编译,并将其设置为 Unity 可以理解的某个版本(当前为 2.0)。确保设置正确。
3) 看看这个 post 从 DLL 导入图像:
http://forum.unity3d.com/threads/resources-load-in-c-dll.62561/#post-403356
希望对您有所帮助。
首先,出于某种原因,我无法在我的 C# 脚本中使用 System.Drawing。我在 Unity3d 中工作,每次加载脚本时库引用都会被踢出。
我正在使用此方法访问我的 dll 的资源
//DaiM.Reality is the namespace
// fgla is a class
Assembly asm = typeof(DaiM.Reality.fgla).Assembly;
string resourcename = asm.GetName().Name + ".Properties.Resources";
ResourceManager rm = new ResourceManager(resourcename, asm);
Texture2D imh = (Texture2D)rm.GetObject("flag"); // the problem
// error :: InvalidCastException: Cannot cast from source type to destination type.
如果我可以使用 System.Drawing 那么我可以只从位图中读取像素并将它们应用到新的 Texture2D。但统一不会让我使用 System.Drawing 。我猜那是因为System.Drawing库中的某些类和UnityEngine库冲突
1) System.Drawing 未包含在 Unity 的默认库中。您应该自己将 System.Drawing.dll 导入到您的项目中。更多信息:
http://answers.unity3d.com/questions/53170/using-drawing-package-like-systemdrawing.html
2) 您尝试导入的 DLL 应使用 Target Framework 选项进行编译,并将其设置为 Unity 可以理解的某个版本(当前为 2.0)。确保设置正确。
3) 看看这个 post 从 DLL 导入图像:
http://forum.unity3d.com/threads/resources-load-in-c-dll.62561/#post-403356
希望对您有所帮助。