当前位置:网站首页>C# winforms 输入颜色转换颜色名
C# winforms 输入颜色转换颜色名
2022-08-04 13:47:00 【林德熙】
本文告诉大家如何输入颜色,如0xFFFF8000转换为 Orange 在 winforms 程序
可以使用下面代码转换
public static class HexColorTranslator
{
private static Dictionary<string, string> _hex2Name;
private static Dictionary<string, string> Hex2Name
{
get
{
if (_hex2Name == null)
{
_hex2Name = new Dictionary<string, string>(StringComparer.OrdinalIgnoreCase);
foreach (KnownColor ce in typeof(KnownColor).GetEnumValues())
{
var name = ce.ToString();
var color = Color.FromKnownColor(ce);
var hex = HexConverter(color);
_hex2Name[hex] = name;
}
}
return _hex2Name;
}
}
private static string HexConverter(Color c)
{
return c.R.ToString("X2") + c.G.ToString("X2") + c.B.ToString("X2");
}
public static string GetKnownColorFromHex(string hex)
{
hex = hex.TrimStart('#');
if (Hex2Name.TryGetValue(hex, out var result))
{
return result;
}
return "???";
}
}调用的方式是传入颜色
HexColorTranslator.GetKnownColorFromHex("#FFFF8000");参见: https://stackoverflow.com/a/51238017/6116637
边栏推荐
猜你喜欢
随机推荐
Is there a replacement for the LM2596?LM2576 can
VBS函数应用–getobject的使用获得Automation对象
LeetCode 1403 Minimum subsequence in non-increasing order [greedy] HERODING's LeetCode road
Fuse bit of AVR study notes
【LeetCode】38、外观数列
Billboard
JSX使用
Ultra-QuickSort
router---Route guard
零基础可以转行软件测试吗 ?这篇文章告诉你
Button control switch 4017 digital circuit chip
Week 7 Latent Variable Models and Expectation Maximization
SSRF-服务器端请求伪造-相关知识
SLAM 05.视觉里程计-2-特征法
博途1200/1500PLC斜坡指令RAMP(带暂停功能)
LM2596有没有可以替代的?LM2576可以
面试官:如何查看/etc目录下包含abc字符串的文件?
第四讲 SVN
MPLS experiment
MySQL性能指标TPS\QPS\IOPS如何压测?









