Unity 中 Color 与 Color32 的区别
1. 存储方式
Color用四个浮点数(float)来表示RGBA,取值范围均是0到1
举例:
var orange = new Color(1f, 0.5f, 0f, 1f);
而Color32使用四个字节(byte)表示RGBA,取值范围是0到255
举例:
var orange = new Color32(255, 128, 0, 255);
2. 区别
由存储方式可以看出,Color32采用字节存储,占用内存少一些,但是对于高精度颜色计算不好。Color相反
3. 转换
手动换算
Color的取值为0到1,Color32为0到255,因此只需要乘除255即可
代码转换
// Color 转 Color32
Color orange = new Color(1f, 0.5f, 0f, 1f);
Color32 orange32 = orange; // 隐式转换
// Color32 转 Color
Color32 orange32 = new Color32(255, 128, 0, 255);
Color orange = orange32; // 隐式转换

浙公网安备 33010602011771号