如何将字符串转换为十六进制?

时间:2011-10-21 08:50:15

标签: asp.net colors

有没有办法将字符串转换为hexa然后将其转换为.Net颜色?

我想知道如何将一串颜色(比如Black)转换为Hexa '#000000'

即。如果我的输入是“黑色”,我应该返回"#000000"

我的问题是:

我正在设置颜色并将其名称存储在对象中。因此,如果它是白色,则对象保持“白色”,但对于某些阴影,它将名称保持为f12a12(示例)。我为这些字符串添加了“0x”,并且它与colortranslator一起工作正常。如果Color对象中有正常颜色,我不想附加这个。我可以让字符串搜索颜色,但我想知道是否有其他方法可以做到这一点?

3 个答案:

答案 0 :(得分:1)

Color c = Color.Black;
string strColor = System.Drawing.ColorTranslator.ToHtml(c);
//returns 000000

编辑:

反向

Color c =  System.Drawing.ColorTranslator.FromHtml("#000000");

答案 1 :(得分:0)

  ColorTranslator.FromHtml(  "#ffffff")

答案 2 :(得分:0)

无法从颜色名称中获取HEX。您需要创建一个查找表,其中包含颜色的名称以及该颜色的HEX。只有这样你才能获得那种颜色的十六进制。

对于你的解决方案,我不确定,但我认为要获得正确的RGB值,你需要具有该颜色的HEX。