我目前正在制作一个基于web的简化工具,我们正在使用我们的ERP。从我们的ERP中,我们可以为订单的状态指定颜色。我在数据库中做了一个新的表来存储这个颜色代码。在代码中,我检查statusID和颜色。然后,我试图添加这个颜色代码作为背景颜色。然而,我从ERP中得到的颜色代码不是十六进制代码吗?也许有人可以告诉我,如何以及是否有可能将这些代码转换成十六进制?
在这里,我选择颜色:

当我为颜色代码添加一个断点时:

编辑:还有,有人能告诉我这是什么颜色代码吗?会让谷歌变得更容易。打印屏幕上的颜色代码是"16777088“。
发布于 2017-08-02 07:02:18
我在网上找到了这个修复方法:
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();这似乎是出于某种原因,也许这里的人可以解释一下这些子子在那里做什么?
发布于 2017-08-02 07:13:35
您可能不会尝试使用System.Drawing.Color,它包含了FromArgb和ToHex方法。
所以你的解决方案可能是这样的
var hex = System.Drawing.Color.FromArgb(int.Parse(ProdBOOStatusBarColor)).ToHex();另一种方法是解析使用字符串函数ToString和插值串 (或其他字符串连接函数,如string.Format、string.Concat、.)。示例:
var hex2 = $"#{int.Parse(ProdBOOStatusBarColor):X}";发布于 2017-08-02 06:35:30
16777088是十进制颜色,所以您需要转换为HEX (在您的例子中是FFFF80)。这个颜色是浅黄色的。您可以使用W3School页面检查颜色。
https://stackoverflow.com/questions/45452974
复制相似问题