难以获得颜色c#

本文关键字:颜色 | 更新日期: 2023-09-27 18:12:13

我有这样的代码:

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

获取像"12222222"这样的字符串,并将它们转换为c#颜色。但我得到这个字符串"255"我不知道如何处理这个。有人能解释一下这个奇怪的数字吗?

感谢

更新忘了提一下:在一个演示项目中,他的函数与value="255"一起工作。

难以获得颜色c#

try

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

将确保在hexValue

中有8个字符

框架中有一个转换器。

从这个问题:

System.Windows.Media.ColorConverter

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

如果要将整数 (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);