无法获得颜色c#

时间:2014-07-10 09:12:54

标签: c# colors

我有这段代码:

        int converted = Convert.ToInt32(value);
        string hexValue = converted.ToString("X");
        Color color = System.Drawing.ColorTranslator.FromHtml("#" + hexValue);
        return color;

得到像" 12222222"并将它们转换为C#颜色。 但是我得到了这个字符串" 255"而且我不知道如何处理这个问题。任何人都可以对这个奇怪的数字有所了解吗?

由于

更新 忘记提及:在一个演示项目中,他的函数使用value =" 255"。在我的项目 - doenst。

3 个答案:

答案 0 :(得分:0)

尝试

string hexValue = converted.ToString("X8");

将确保hexValue中有8个字符

答案 1 :(得分:0)

如果您想将整数intInt32)转换为Color,您只需使用:

 // value is an integer in this case
 Color color = Color.FromArgb(value);

无需将其转换为十六进制字符串。

如果您想将十进制 String转换为Color,请使用:

 int value = Int32.Parse(decimalString);
 Color color = Color.FromArgb(value);

如果您想将十六进制 String转换为Color

 int value = Int32.Parse(hexString, NumberStyles.HexNumber); // System.Globalization
 Color color = Color.FromArgb(value);

答案 2 :(得分:0)

框架中有一个转换器。

来自this question

System.Windows.Media.ColorConverter

var color = (Color)ColorConverter.ConvertFromString("#FF010203");