c# - 将十六进制解析为颜色系列的算法

标签 c# colors hex

是否存在一种算法可以输入颜色的十六进制值并输出该值属于哪个颜色系列?例如,如果我输入 3333FF,它会将其识别为蓝色阴影。我需要能够输入任何十六进制值并将其缩小到标准色轮上的 24 种颜色之一加上黑色、白色和灰色。 (我认为黑色所有灰度值高达 #151515,白色所有值下降到 #F1F1F1)

最佳答案

一种方法是 convert the hex code to HSV然后将色调值分成多个区域。所以你只需检查色调,如果它在这两个值之间,它就是红色,如果它在这两个值之间,它就是黄色,等等。你还可以检查饱和度和亮度以确定什么叫白色、灰色和黑色。这些阈值将完全取决于您。

关于c# - 将十六进制解析为颜色系列的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5440051/

相关文章:

c# - 如何跟踪asp :button click with Google Tag Manager

r - 更改直方图中的调色板

Java swing - 频繁改变框架的颜色

C++流负数转换

c# - 如何管理 VSPackage 中的撤消/重做堆栈?

c# - 将数据表从 C# 传递到 SQL Server 2008

c# - Unity 中的按钮,不使用 UI?

java - JProgressbar 在一个实例中具有 2 种或多种不同颜色

组合套接字发送的十六进制值

python - 值错误 : non-hexadecimal number found in fromhex() arg at position