Unity 中 Color 与 Color32 的区别

1. 存储方式


Color用四个浮点数(float)来表示RGBA,取值范围均是01

举例:

var orange = new Color(1f, 0.5f, 0f, 1f);

Color32使用四个字节(byte)表示RGBA,取值范围是0255

举例:

var orange = new Color32(255, 128, 0, 255);

2. 区别


由存储方式可以看出,Color32采用字节存储,占用内存少一些,但是对于高精度颜色计算不好。Color相反

3. 转换


手动换算

Color的取值为01Color320255,因此只需要乘除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; // 隐式转换
posted @ 2024-08-19 10:15  星痕sky  阅读(576)  评论(0)    收藏  举报