如何反转 Texture2D unity 的通道顺序
How to reverse channel order of a Texture2D unity
我需要将 texture2D 从具有正常的 RGBA 通道顺序转换为 BGRA 通道顺序。我原本希望它会像
一样简单
// Load image
Texture2D loaded = Resources.Load("zidane_640x640") as Texture2D;
// Convert from RGBA32 to BGRA32
Texture2D frame = new Texture2D(loaded.height, loaded.width, TextureFormat.BGRA32, false);
frame.SetPixels32(loaded.GetPixels32());
frame.Apply();
但这没有任何效果。我无法在任何地方找到一种方法来切换 Color[] 或 Texture2D 的通道顺序。有什么简单的方法可以做到这一点,还是我必须逐像素手动交换通道顺序?
它工作正常。你刚才打错了。
Texture2D frame = new Texture2D(loaded.width, loaded.height, TextureFormat.BGRA32, false);
或者:
Graphics.ConvertTexture( src , dst );
我需要将 texture2D 从具有正常的 RGBA 通道顺序转换为 BGRA 通道顺序。我原本希望它会像
一样简单// Load image
Texture2D loaded = Resources.Load("zidane_640x640") as Texture2D;
// Convert from RGBA32 to BGRA32
Texture2D frame = new Texture2D(loaded.height, loaded.width, TextureFormat.BGRA32, false);
frame.SetPixels32(loaded.GetPixels32());
frame.Apply();
但这没有任何效果。我无法在任何地方找到一种方法来切换 Color[] 或 Texture2D 的通道顺序。有什么简单的方法可以做到这一点,还是我必须逐像素手动交换通道顺序?
它工作正常。你刚才打错了。
Texture2D frame = new Texture2D(loaded.width, loaded.height, TextureFormat.BGRA32, false);
或者:
Graphics.ConvertTexture( src , dst );