2018-9-30-C#-winforms-输入颜色转换颜色名
2023-09-27 14:28:50 时间
title | author | date | CreateTime | categories |
---|---|---|---|---|
C# winforms 输入颜色转换颜色名 |
lindexi |
2018-09-30 18:27:49 +0800 |
2018-07-09 14:40:23 +0800 |
C# |
本文告诉大家如何输入颜色,如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");
相关文章
- C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 忘记密码功能改进、手机短信、电子邮件
- 字符串中去除多余的空格保留一个(C#)
- C#人民币金额大写转换
- c#中decimal的去0显示
- C# 对象与JSON串互相转换
- C#中字符转换问题详解
- c# DateTime时间格式和JAVA时间戳格式相互转换
- Mysql的 时间戳转换 和 c# 的时间戳转换 (以秒来进行转换,非毫秒,主要是mysql不能存毫秒)
- C# 数值的隐式转换
- C# Directory类的操作
- C#基础—不安全代码(unsafe code)
- C#进阶系列——DDD领域驱动设计初探(二):仓储Repository(上)
- Unity3d C# 实现纯鼠标平滑控制场景摄像头(相机)实现自由旋转、移动和围绕节点移动旋转等功能(含源码工程)
- C#抽象类与接口的区别及应用场合
- C# 通过 Renci.SshNet 实现SFTP数据传输
- C#使用Newtonsoft.Json进行json数据存储和转换
- C# DataGridView如何获取选中行的某个数据
- C#小白使用AutoMapper对象映射器
- 【转载】C# 日常小问题:DataGridview转换为DataTable
- 2018-12-25-C#-使用转换语义版本号
- 2019-8-31-C#-大端小端转换
- 2019-11-19-C#-高级面试题
- C# 转换类型和字符串
- C# 大端小端转换
- wpf C# 数据库 c/s 个人信息管理 wpf局域网通信
- C#-多线程数据同步容易出现的异常问题