gpt4 book ai didi

c# - 将十六进制代码转换为颜色名称

转载 作者:可可西里 更新时间:2023-11-01 08:19:48 26 4
gpt4 key购买 nike

我如何将这个 hexa code = #2088C1 转换成颜色名称,如蓝色或红色

我的目标是为给定的六边形代码获取颜色名称,如“蓝色”

我试过下面的代码,但它没有给出任何颜色名称..

System.Drawing.Color col = System.Drawing.ColorTranslator.FromHtml("#2088C1");

Color col = ColorConverter.ConvertFromString("#2088C1") as Color;

但它没有给出像“aquablue”这样的颜色名称

我在 C# 中使用 winforms 应用程序

最佳答案

我偶然发现了一个 german site这正是你想要的:

/// <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}\b"))
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);
}

要获取颜色名称,您可以按如下方式使用它来获取 KnownColor :

private KnownColor GetColor(string colorCode)
{
Color color = GetSystemDrawingColorFromHexString(colorCode);
return color.GetKnownColor();
}

但是,System.Color.GetKnownColor 似乎已在较新版本的 .NET 中被删除

关于c# - 将十六进制代码转换为颜色名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7791710/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com