嗚嗚喔學習筆記: [C#] Color to uint & uint to Color

搜尋此網誌

2021年4月28日 星期三

[C#] Color to uint & uint to Color

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;
    }
}

沒有留言:

張貼留言