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

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

作者头像
林德熙
发布于 2018-09-18 09:34:32
发布于 2018-09-18 09:34:32
63400
代码可运行
举报
文章被收录于专栏:林德熙的博客林德熙的博客
运行总次数:0
代码可运行

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

可以使用下面代码转换

代码语言:javascript
代码运行次数:0
运行
复制
    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
运行
复制
HexColorTranslator.GetKnownColorFromHex("#FFFF8000");

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


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

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

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

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

评论
登录后参与评论
暂无评论
推荐阅读
深入理解 ASP.NET Core 中的 IOptions
在 ASP.NET Core 中,配置管理是一个核心功能,它允许我们以灵活的方式读取和管理应用程序的配置信息。IOptions 是 ASP.NET Core 提供的一种强大的配置模式,用于将配置数据注入到应用程序的各个部分。通过 IOptions,我们可以轻松地实现配置的解耦、动态更新和依赖注入。
郑子铭
2025/04/23
830
深入理解 ASP.NET Core 中的 IOptions
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
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
8710
打造属于自己的支持版本迭代的Asp.Net Web Api Route
.Net Core配置Configuration源码研究
最近又研究了一下.NetCore配置选项的源码实现,又学习到了不少东西。这篇文章先写一下IConfiguration的学习成果,Options的后面补上
蓝夏
2021/09/09
6470
ASP.NET Core Authentication系列(二)实现认证、登录和注销
在上一篇文章介绍ASP.NET Core Authentication的三个重要概念,分别是Claim, ClaimsIdentity, ClaimsPrincipal,以及claims-base authentication是怎么工作的。
梁规晓
2020/11/05
3.5K0
ASP.NET Core Authentication系列(二)实现认证、登录和注销
C#编程 | 那些C#中很少人知道的科技
本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面。
Enjoy233
2021/12/23
7490
C#编程 | 那些C#中很少人知道的科技
asp.net web api 版本控制
版本控制 版本控制的方法有很多,这里提供一种将Odata与普通web api版本控制机制统一的方法,但也可以单独控制,整合控制与单独控制主要的不同是:整合控制通过VersionControllerSelector来选择控制器过滤器,而不是直接选择控制器。 采用此机制来控制版本,应按照如下规则命名控制器: 自定义标识符+版本+Controller 自定义标识符:能体现控制器含义的字符串 版本:表示版本的字符串,例如:V1,V1.0;不建议使用V1.0这样的写法,因为这样控制器名称会相当怪异,如果表示小版本号
甜橙很酸
2018/03/08
1.8K0
asp.net web api 版本控制
.NET Core 3.0之深入源码理解Configuration(二)
上一篇文章讨论了Configuration的几个核心对象,本文继续讨论Configuration中关于文件型配置的相关内容。相比较而言,文件型配置的使用场景更加广泛,用户自定义配置扩展也可以基于文件型配置进行扩展。如果需要查看上一篇文章,可以点击移步。
AI.NET 极客圈
2019/07/19
7440
.NET Core 3.0之深入源码理解Configuration(二)
C# 很少人知道的科技
本文来告诉大家在C#很少有人会发现的科技。即使是工作了好多年的老司机也不一定会知道,如果觉得我在骗你,那么请看看下面。
林德熙
2018/09/19
6530
C# 很少人知道的科技
. 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
770
. NET 9 中的 Alternate Lookup
.net 5.0 配置文件组件之JsonProvider源码解析
1、本文主要介绍下.net core 5.0的配置文件组件JsonProvider源码核心逻辑.
郑小超.
2022/05/07
5660
ASP.NET MVC Controller的激活
最近抽空看了一下ASP.NET MVC的部分源码,顺带写篇文章做个笔记以便日后查看。
yaphetsfang
2020/07/30
7290
ASP.NET MVC Controller的激活
C# 使用Emit深克隆
有人问,复制一个类所有属性到另一个类有多少方法?这也就是问深克隆有多少个方法,容易想的有三个。直接复制,反射复制,序列化复制。但是性能比较快的有表达式树复制 IL复制两个,本文主要讲最后一个
林德熙
2022/08/04
5500
C# 使用Emit深克隆
有人问,复制一个类所有属性到另一个类有多少方法?这也就是问深克隆有多少个方法,容易想的有三个。直接复制,反射复制,序列化复制。但是性能比较快的有表达式树复制 IL复制两个,本文主要讲最后一个
林德熙
2018/09/18
1K0
C# 使用Emit深克隆
C#项目将dll打包进exe中
想将项目用到的两个dll库文件(CryptEnDe.dll和ICSharpCode.SharpZipLib.dll)一同编译进exe中,并编译后仅一个exe程序就可以独立运行不再需要其它文件。
zls365
2021/04/07
1.3K0
ASP.NET Core的路由[5]:内联路由约束的检验
当某个请求能够被成功路由的前提是它满足某个Route对象设置的路由规则,具体来说,当前请求的URL不仅需要满足路由模板体现的路径模式,请求还需要满足Route对象的所有约束。路由系统采用IRouteConstraint接口来表示路由约束,所以我们在接下来的内容中将路由约束统称为RouteConstraint。 在大部分情况下,约束都是针对路由模板中定义的某个路由参数,其目的在于验证URL携带的某部分的内容是否有效。不过也有一些约束与路由参数无关,这些约束规范往往是除URL之前的其他请求元素,比如前面提到的H
蒋金楠
2018/02/08
1.3K0
ASP.NET Core的路由[5]:内联路由约束的检验
上线一个颜色值转换工具
本文简单列几处开发此工具时,相关JS代码与C#代码的翻译对比,方便大家后续类似开发参考。
沙漠尽头的狼
2023/09/12
2530
上线一个颜色值转换工具
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 Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)
阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html。
aehyok
2018/08/31
1.4K0
Asp.Net Web API 2第十六课——Parameter Binding in ASP.NET Web API(参数绑定)
相关推荐
深入理解 ASP.NET Core 中的 IOptions
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验