当前位置:网站首页>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
边栏推荐
猜你喜欢
SLAM 05.视觉里程计-2-特征法
Is the code more messy?That's because you don't use Chain of Responsibility!
漏洞复现 - - - Alibaba Nacos权限认证绕过
zabbix自定义图形
基于双层共识控制的直流微电网优化调度(Matlab代码实现)
AutoCAD DWG,DXF文件导出高清图片、PDF
Week 7 Latent Variable Models and Expectation Maximization
未来已来,只是尚未流行
面试官:说一下NIO和BIO的区别
新 Nsight Graph、Nsight Aftermath 版本中的性能提升和增强功能
随机推荐
Is the code more messy?That's because you don't use Chain of Responsibility!
Cows 树状数组
nVisual secondary development - Chapter 2 nVisual API operation guide Swagger use
Button control switch 4017 digital circuit chip
文盘Rust -- 配置文件解析
Map common traversal methods - keySet and entrySet
到底什么是真正的HTAP?
错误 AttributeError type object 'Callable' has no attribute '_abc_registry' 解决方案
Haproxy搭建web群集
干掉visio,这个画图神器真的绝了
router---模式
Win11快速助手在哪里?Win11打开快速助手的方法
RK1126编译gdb 板子上gdb调试程序
备份控制文件
面试官:说一下NIO和BIO的区别
Ultra-QuickSort
VBS函数应用–getobject的使用获得Automation对象
vcl啥意思_oval
座舱人机交互「暗潮汹涌」,语音「下」,多模态「上」
AVR学习笔记之熔丝位