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; // 隐式转换
标签:Color,Color32,Unity,1f,orange,new,255
From: https://www.cnblogs.com/starrysky-skyler/p/18366812