我正在尝试将Color保存到数据库中.我知道我可以将颜色分为4个部分,RGBA,但使用3列保存颜色似乎很愚蠢.因此,我只是使用限制器将其保存为字符串,甚至每种颜色只使用3个字符.但这又是愚蠢的.Color结构有一个packedValue属性,它似乎与创建uint的值有关.但我不知道如何打开包装.有人有主意吗
Color c = new Color.Black;
uint i = c.PackedValue;
Color newColor=Color.FromUINT(i); // This doesn't work of course
Run Code Online (Sandbox Code Playgroud)
PackedValue是一个读/写属性.您无需进行任何位移即可使用它.
var c = new Color() { PackedValue = packedColor };
Console.WriteLine(c.A);
Console.WriteLine(c.R);
Console.WriteLine(c.G);
Console.WriteLine(c.B);
Run Code Online (Sandbox Code Playgroud)