我有这段代码:
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。
答案 0 :(得分:0)
尝试
string hexValue = converted.ToString("X8");
将确保hexValue中有8个字符
答案 1 :(得分:0)
如果您想将整数(int
或Int32
)转换为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)
框架中有一个转换器。
System.Windows.Media.ColorConverter
var color = (Color)ColorConverter.ConvertFromString("#FF010203");