我目前正在使用我们正在使用的ERP的基于Web的简化工具。 通过我们的ERP,我们可以为订单的状态指定颜色。我在数据库中创建了一个新表来存储这个颜色代码。在代码中我检查statusID和颜色。然后我尝试将此颜色代码添加为背景颜色。但是,我从ERP获得的颜色代码不是十六进制代码?也许有人可以告诉我如何将这些代码转换成十六进制?
编辑:此外,有人可以告诉我这是什么样的颜色代码?会让谷歌更容易。打印屏幕的颜色代码为“16777088”
答案 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.Color
和FromArgb
方法的ToHex
。
所以你的解决方案看起来像这样
var hex = System.Drawing.Color.FromArgb(int.Parse(ProdBOOStatusBarColor)).ToHex();
另一种方法是解析使用字符串函数ToString
和Interpolated Strings(或其他字符串连接函数,如string.Format
,string.Concat
,...)。
例如:
var hex2 = $"#{int.Parse(ProdBOOStatusBarColor):X}";