【发布时间】:2014-07-15 07:15:07
【问题描述】:
我在 Assets 文件夹中有一个纹理 (Texture Type = Advanced, Read/Write Enabled = true, Max Size = 512, Format = RGB 24 bit)。现在我想读取这个纹理,然后将像素复制到另一个 texture2d 中并保存。
private Texture2D sourceImg;
...
Texture2D tex = new Texture2D(512, 512, TextureFormat.RGB24, false);
tex.SetPixels(sourceImg.GetPixels(0,0,512,512));
tex.Apply();
byte[] png = tex.EncodeToPNG();
File.WriteAllBytes(Application.persistentDataPath + "/Screenshot.png", png);
我不知道,为什么这个简单的代码不起作用?
当我将新的 tex 添加到一个四边形时:
quad.renderer.material.mainTexture = tex;
有效。
【问题讨论】:
标签: unity3d textures texture2d