前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C# winforms 输入颜色转换颜色名

C# winforms 输入颜色转换颜色名

作者头像
林德熙
发布于 2022-08-04 05:32:52
发布于 2022-08-04 05:32:52
40700
代码可运行
举报
文章被收录于专栏:林德熙的博客林德熙的博客
运行总次数:0
代码可运行

本文告诉大家如何输入颜色,如0xFFFF8000转换为 Orange 在 winforms 程序

可以使用下面代码转换

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    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 "???";
        }
    }

调用的方式是传入颜色

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
HexColorTranslator.GetKnownColorFromHex("#FFFF8000");

参见: https://stackoverflow.com/a/51238017/6116637

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
C# MD5加密-MD5Helper
一、前言 MD5说明 http://zh.wikipedia.org/wiki/MD5 .NET MD5类 官方文档&示例 http://msdn.microsoft.com/zh-cn/library/system.security.cryptography.md5(v=vs.110).aspx 二、MD5Helper C#代码实现: public class Md5Helper { public static string Md5(string value) { var
KenTalk
2018/09/11
7.4K0
asp.net web api 版本控制
版本控制 版本控制的方法有很多,这里提供一种将Odata与普通web api版本控制机制统一的方法,但也可以单独控制,整合控制与单独控制主要的不同是:整合控制通过VersionControllerSelector来选择控制器过滤器,而不是直接选择控制器。 采用此机制来控制版本,应按照如下规则命名控制器: 自定义标识符+版本+Controller 自定义标识符:能体现控制器含义的字符串 版本:表示版本的字符串,例如:V1,V1.0;不建议使用V1.0这样的写法,因为这样控制器名称会相当怪异,如果表示小版本号
甜橙很酸
2018/03/08
1.8K0
asp.net web api 版本控制
. NET 9 中的 Alternate Lookup
在 .NET 9 中,为哈希表类引入了一种名为GetAlternateLookup<TKey, TValue, TAlternate>() 的新方法,包括Dictionary<TKey, TValue>、HashSet<T>、ConcurrentDictionary<TKey, TValue>、FrozenDictionary<TKey, TValue> 和FrozenSet<TKey, TValue>。
郑子铭
2025/02/18
780
. NET 9 中的 Alternate Lookup
.Net Core配置Configuration源码研究
最近又研究了一下.NetCore配置选项的源码实现,又学习到了不少东西。这篇文章先写一下IConfiguration的学习成果,Options的后面补上
蓝夏
2021/09/09
6470
c#关于JWT跨域身份验证解决方案
JSON Web Token(JWT)是目前最流行的跨域身份验证解决方案。为了网络应用环境间传递声明而执行的一种基于JSON的开发标准(RFC 7519),
梁规晓
2019/10/22
2.2K0
打造属于自己的支持版本迭代的Asp.Net Web Api Route
    在目前的主流架构中,我们越来越多的看到web Api的存在,小巧,灵活,基于Http协议,使它在越来越多的微服务项目或者移动项目充当很好的service endpoint。 问题     以Asp.Net Web Api 为例,随着业务的扩展,产品的迭代,我们的web api也在随之变化,很多时候会出现多个版本共存的现象,这个时候我们就需要设计一个支持版本号的web api link,比如: 原先:http://www.test.com/api/{controller}/{id} 如今:http:
脑洞的蜂蜜
2018/02/01
8720
打造属于自己的支持版本迭代的Asp.Net Web Api Route
.net 5.0 配置文件组件之JsonProvider源码解析
1、本文主要介绍下.net core 5.0的配置文件组件JsonProvider源码核心逻辑.
郑小超.
2022/05/07
5670
.NET Core 3.0之深入源码理解Configuration(二)
上一篇文章讨论了Configuration的几个核心对象,本文继续讨论Configuration中关于文件型配置的相关内容。相比较而言,文件型配置的使用场景更加广泛,用户自定义配置扩展也可以基于文件型配置进行扩展。如果需要查看上一篇文章,可以点击移步。
AI.NET 极客圈
2019/07/19
7440
.NET Core 3.0之深入源码理解Configuration(二)
win10 uwp 颜色转换 字符串转颜色颜色转字符串
如果有小伙伴传入一个不带透明的,那么上面的代码就会出现异常,因为不带透明的颜色只有 6 个字符,所以就无法使用上面的代码,我修改了下面代码可以转换颜色
林德熙
2018/09/18
1.3K0
win10 uwp 颜色转换
            字符串转颜色颜色转字符串
ASP.NET WebAPI 中的参数绑定
当 WebAPI 调用 Controller 上的方法时, 必须为其参数赋值, 这个过程就是参数绑定。 本文介绍 WebAPI 如何绑定参数, 以及如何进行自定义。
beginor
2020/08/10
2.7K0
C#编程 | 那些C#中很少人知道的科技
本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面。
Enjoy233
2021/12/23
7510
C#编程 | 那些C#中很少人知道的科技
迁移 appseting.json 创建自定义配置中心
创建一个自定义的配置中心,将框架中各类配置,迁移至数据库,支持切换数据库,热重载。
郑子铭
2021/11/10
1.2K0
迁移 appseting.json 创建自定义配置中心
ASP.NET Core Authentication系列(二)实现认证、登录和注销
在上一篇文章介绍ASP.NET Core Authentication的三个重要概念,分别是Claim, ClaimsIdentity, ClaimsPrincipal,以及claims-base authentication是怎么工作的。
梁规晓
2020/11/05
3.5K0
ASP.NET Core Authentication系列(二)实现认证、登录和注销
ASP.NET Web API编程——模型验证与绑定
1.模型验证 使用特性约束模型属性 可以使用System.ComponentModel.DataAnnotations提供的特性来限制模型。 例如,Required特性表示字段值不能为空,Range特性限制数值类型的范围。 对实体类使用特性后,可以使用ModelState.IsValid来判断验证是否通过。 例: 实体: public class DataModel { public int Id { get; set; } public string Field1Nam
甜橙很酸
2018/04/18
3K0
ASP.NET Web API编程——模型验证与绑定
ASP.NET Core 6框架揭秘实例演示[40]:基于角色的授权
ASP.NET应用并没有对如何定义授权策略做硬性规定,所以我们完全根据用户具有的任意特性(如性别、年龄、学历、所在地区、宗教信仰、政治面貌等)来判断其是否具有获取目标资源或者执行目标操作的权限,但是针对角色的授权策略依然是最常用的。角色(或者用户组)实际上就是对一组权限集的描述,将一个用户添加到某个角色之中就是为了将对应的权限赋予该用户。在《使用最简洁的代码实现登录、认证和注销》中,我们提供了一个用来演示登录、认证和注销的程序,现在我们在此基础上添加基于“角色授权的部分”。(本文提供的示例演示已经同步到《ASP.NET Core 6框架揭秘-实例演示版》)
蒋金楠
2023/07/10
3300
ASP.NET Core 6框架揭秘实例演示[40]:基于角色的授权
【C# 基础精讲】字典(Dictionary)的使用
在C#中,Dictionary<TKey, TValue>是一种非常常用的泛型集合类,用于存储键值对(Key-Value Pair)的数据结构。Dictionary<TKey, TValue>可以根据键快速查找对应的值,因此在需要快速查找和检索数据的场景下,特别是在涉及大量数据时,使用字典是非常高效的选择。本文将详细介绍Dictionary<TKey, TValue>的应用,包括创建字典、添加元素、访问元素、删除元素、遍历字典、常用的方法等内容。
繁依Fanyi
2023/10/12
1.7K0
【C# 基础精讲】字典(Dictionary)的使用
C# 很少人知道的科技
本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面。
林德熙
2018/09/19
6540
C# 很少人知道的科技
C# 使用Emit深克隆
有人问,复制一个类所有属性到另一个类有多少方法?这也就是问深克隆有多少个方法,容易想的有三个。直接复制,反射复制,序列化复制。但是性能比较快的有表达式树复制 IL复制两个,本文主要讲最后一个
林德熙
2022/08/04
5510
C#调用腾讯云文本翻译API,使用V3签名报错。
"Error":{"Code":"AuthFailure.SignatureFailure","Message":"The provided credentials could not be validated. Please check your signature is correct."
用户9018380
2021/09/20
2.1K0
C# 对 byte 数组进行模式搜索
最简单的方法是进行数值判断,但是代码最少是使用Linq ,效率比较高是使用 Boyer-Moore 算法,下面就告诉大家几个算法的代码
林德熙
2018/09/18
1.6K0
相关推荐
C# MD5加密-MD5Helper
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验