当前位置:网站首页>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
边栏推荐
猜你喜欢
随机推荐
如何才能有效、高效阅读?猿辅导建议“因材因时施教”
Cockpit human-computer interaction "undercurrent", voice "down", multi-modal "up"
Win11勒索软件防护怎么打开?Win11安全中心勒索软件防护如何设置
CReFF缓解长尾数据联邦学习(IJCAI 2022)
Install mysql on k8s
AVR学习笔记之熔丝位
[Niu Ke brush questions-SQL big factory interview questions] NO5. Analysis of a treasure store (e-commerce model)
漏洞复现 - - - Alibaba Nacos权限认证绕过
未来已来,只是尚未流行
代码越写越乱?那是因为你没用责任链!
router---编程式导航
ssm learning experience (final chapter)
Lecture 4 SVN
大势所趋之下的nft拍卖,未来艺术品的新赋能
Execution failed for task ‘:xxx:generateReleaseRFile‘.
【解决方案 三十一】Navicat数据库结构同步
JSX使用
烂大街的缓存穿透、缓存击穿和缓存雪崩,你真的懂了?
按键控制开关4017芯片数字电路
文盘Rust -- 配置文件解析