奇怪的颜色代码?转换为十六进制?

时间:2017-08-02 06:25:25

标签: c# html css

我目前正在使用我们正在使用的ERP的基于Web的简化工具。 通过我们的ERP,我们可以为订单的状态指定颜色。我在数据库中创建了一个新表来存储这个颜色代码。在代码中我检查statusID和颜色。然后我尝试将此颜色代码添加为背景颜色。但是,我从ERP获得的颜色代码不是十六进制代码?也许有人可以告诉我如何将这些代码转换成十六进制?

我在这里选择颜色:enter image description here

当我为colorcode添加断点时: enter image description here

编辑:此外,有人可以告诉我这是什么样的颜色代码?会让谷歌更容易。打印屏幕的颜色代码为“16777088”

3 个答案:

答案 0 :(得分:0)

16777088是十进制颜色,因此您需要转换为HEX(在您的情况下为FFFF80)。这种颜色是浅黄色。 您可以使用W3School页面检查颜色。

答案 1 :(得分:0)

我在网上发现了这个问题:

 int x = int.Parse(ProdBOOStatusBarColor);
            string colorHex = x.ToString("X6");
            StringBuilder color = new StringBuilder();
            color.Append("#");
            color.Append(colorHex.Substring(4, 2));
            color.Append(colorHex.Substring(2, 2));
            color.Append(colorHex.Substring(0, 2));
            color.ToString();

这看起来似乎有些原因,也许有人在这里可以解释那些子串在那里做什么?

答案 2 :(得分:0)

您可能不会尝试使用包含System.Drawing.ColorFromArgb方法的ToHex

所以你的解决方案看起来像这样

var hex = System.Drawing.Color.FromArgb(int.Parse(ProdBOOStatusBarColor)).ToHex();

另一种方法是解析使用字符串函数ToStringInterpolated Strings(或其他字符串连接函数,如string.Formatstring.Concat,...)。 例如:

var hex2 = $"#{int.Parse(ProdBOOStatusBarColor):X}";