1byte => 0~255
byte[3] 剛好可以對應 Color 的RGB( 0~255,0~255,0~255)
如果有要做 儲存 or 讀取 or 傳輸 可以用這轉換減少容量
public static class ColorUtility
{
public const uint ColorWhiteInt = 4294967295;
public const uint ColorBlackInt = 4278190080;
static byte[] Byte4 = new byte[4];
public static Color32 ToColor(uint colorInt)
{
byte r = (byte)(colorInt >> 0);
byte g = (byte)(colorInt >> 8);
byte b = (byte)(colorInt >> 16);
byte a = (byte)(colorInt >> 24);
return new Color32(r, g, b, a);
}
public static uint ToColorInt(Color32 c)
{
Byte4[0] = c.r;
Byte4[1] = c.g;
Byte4[2] = c.b;
Byte4[3] = c.a;
uint colorInt = BitConverter.ToUInt32(Byte4, 0);
return colorInt;
}
}
搜尋此網誌
2021年4月28日 星期三
[C#] Color to uint & uint to Color
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言