获取像素颜色块(Color32 格式)。
该函数返回纹理的整个 Mip 级别的
像素颜色数组。
返回的数组是一个平展 2D 数组,其中像素是从左到右、
从下到上排列(即,逐行排列)的。数组大小为所用 Mip 级别的宽度乘以高度。
默认 Mip 级别为零(基础纹理),在这种情况下,其大小只是该纹理的大小。
在一般情况下,Mip 级别的大小为 mipWidth=max(1,width>>miplevel)
,
高度也是如此。
该纹理必须在导入设置中设置了 Read/Write Enabled 标志,否则此函数将失败。在使用 Crunch 纹理压缩的纹理上,GetPixels32 不可用。
使用 GetPixels32
可比反复调用 GetPixel 更快,尤其是
对于较大纹理而言。此外,GetPixels32
还可访问单独的多级渐进纹理级别。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public Texture2D sourceTex;
void Start() {
Color32[] pix = sourceTex.GetPixels32();
System.Array.Reverse(pix);
Texture2D destTex = new Texture2D(sourceTex.width, sourceTex.height);
destTex.SetPixels32(pix);
destTex.Apply();
GetComponent<Renderer>().material.mainTexture = destTex;
}
}
另请参阅:SetPixels、mipmapCount。