将颜色保存为整数(进入DB)

时间:2014-08-21 19:44:08

标签: c# colors type-conversion

我正在使用返回Color的WPF拾色器。但是,我很沮丧如何将该颜色保存为整数并加载到数据库中。我找到了一些解决方案,它们都没有工作,而且都很复杂(而且很旧)。 希望有一个更新,更优雅的解决方案。 提前谢谢

1 个答案:

答案 0 :(得分:0)

我建议使用十六进制代码而不仅仅是RGB值的int。

以下代码取自here,属于用户@AriRoth

private static String HexConverter(System.Drawing.Color c)
{
    return "#" + c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
}

此方法应将您的颜色转换为十六进制代码的字符串。然后,您可以将其保存到数据库中。如果您打算稍后将这些用于CSS目的,那么十六进制代码就足够了。如果由于某种原因需要将十六进制转换回颜色对象,可以使用

using System.Windows.Media;

Color color = (Color)ColorConverter.ConvertFromString(YourHexCodeHere);