将从服务器获取的图像保存在 unity 3d 中

Save image fetched from server in unity 3d

我从我的服务器获取图像并将其设置为游戏对象的纹理。但我还想做的是将它作为 png 保存在我的项目中。知道我该怎么做吗?我是团结的新手。

以下是我获取图像并将其设置为纹理的方法:

WWW wB = new WWW ("http://xxx.xxxx.xxxx");
yield return wB;
cube.GetComponent<Renderer>().material.mainTexture = wB.texture;

我想将 wb.Texture 另存为 png。

WWW wB = new WWW ("http://xxx.xxxx.xxxx");
yield return wB;
byte[] bytes = wb.Texture.EncodeToPNG();

现在您可以将字节保存到所需路径中的 png 文件中。

void SaveTextureToFile(Texture2D texture, string fileName)
{
    var bytes=texture.EncodeToPNG();
    var file = new File.Open(Application.dataPath + "/"+fileName, FileMode.Create);
    var binary= new BinaryWriter(file);
    binary.Write(bytes);
    file.Close();
}

SaveTextureToFile(wB.texture, "abc.png");

注意 Application.dataPath can be replaced with Application.persistentDataPath.