5

我需要颜色的十六进制字符串,所以我使用ColorTranslator.ToHtml()返回颜色字符串十六进制的属性。

如果我选择随机颜色,它会返回“ #FFF0B6 ”等。但是,如果我选择系统定义的颜色,例如它会在字符串中Color.Black返回“ Black ”。

我需要字符串中的十六进制颜色代码,无论它们是否在系统中定义。有什么建议么?

4

1 回答 1

15

我发现这种扩展方法对我很有效:

public static string ToHexValue(this Color color)
{
   return "#" + color.R.ToString("X2") + 
                color.G.ToString("X2") + 
                color.B.ToString("X2");
}

根据 MSDN,这确实ColorTranslator.ToHtml()是打算做的。

于 2013-02-05T15:17:33.513 回答