我有一个byte []数组,它读取一个本地文件,然后我将它分配给一个单一的Texture2D.使用im.sprite = Sprite.Create()函数分配图像.
我遇到的问题是我需要从字节数组中检测图像的宽度和高度,这样我就可以调整纹理大小,避免在运行时在统一场景上进行图像拉伸.
您知道如何使用库或某种函数来创建图像字节数组中的临时图像,然后在创建精灵并应用纹理之前查看所需的宽度和高度吗?
我已经在Java中找到了解决方案,但是通过适应c#无法实现它的工作.
主要目标:从在线网址加载图像,然后在移动设备上的/ Repo/{VenueName}目录中本地保存图像(任何类型).这样,当场景加载首先检查本地图像然后调用www请求(如果移动设备上已不存在)时,它将有望保存在未来的移动数据上.
我有在线图像,我从json文件中提取了网址,现在我想将它们本地存储在移动设备上,以便为最终用户保存数据传输.
我已经围绕着持久的数据路径和IO.director进行了循环,并不断遇到问题.
目前我有一个从在线保存文本并成功将其存储在设备上的功能,但如果我将它用于图像,由于下面显示的字符串参数,它将无法工作,我试图将其转换为字节编辑功能也不是通过它www.text并得到图像损坏错误.
这是我用于文本保存文件的旧功能.
public void writeStringToFile( string str, string filename ){
#if !WEB_BUILD
string path = pathForDocumentsFile( filename );
FileStream file = new FileStream (path, FileMode.Create, FileAccess.Write);
StreamWriter sw = new StreamWriter( file );
sw.WriteLine( str );
sw.Close();
file.Close();
#endif
}
public string pathForDocumentsFile( string filename ){
if (Application.platform == RuntimePlatform.IPhonePlayer)
{
string path = Application.dataPath.Substring( 0, Application.dataPath.Length - 5 );
path = path.Substring( 0, path.LastIndexOf( '/' ) );
return Path.Combine( Path.Combine( path, "Documents" ), filename ); …Run Code Online (Sandbox Code Playgroud)