更新时间:2023-01-27 14:39:09
我偶然发现了一个 德国网站 完全符合您的要求:
I stumbled upon a german site that does exactly what you want:
/// <summary>
/// Gets the System.Drawing.Color object from hex string.
/// </summary>
/// <param name="hexString">The hex string.</param>
/// <returns></returns>
private System.Drawing.Color GetSystemDrawingColorFromHexString(string hexString)
{
if (!System.Text.RegularExpressions.Regex.IsMatch(hexString, @"[#]([0-9]|[a-f]|[A-F]){6}"))
throw new ArgumentException();
int red = int.Parse(hexString.Substring(1, 2), NumberStyles.HexNumber);
int green = int.Parse(hexString.Substring(3, 2), NumberStyles.HexNumber);
int blue = int.Parse(hexString.Substring(5, 2), NumberStyles.HexNumber);
return Color.FromArgb(red, green, blue);
}
要获取颜色名称,您可以按如下方式使用它来获取 已知颜色:
To get the color name you can use it as follows to get the KnownColor:
private KnownColor GetColor(string colorCode)
{
Color color = GetSystemDrawingColorFromHexString(colorCode);
return color.GetKnownColor();
}
然而,System.Color.GetKnownColor
似乎在较新版本的 .NET 中被删除
However, System.Color.GetKnownColor
seems to be removed in newer versions of .NET