给一个 rgb 数值,怎么知道这个颜色的名称?

2022-02-14 15:50:50 +08:00
 vzyw

色弱患者求助,救救孩子吧

比如:

#FF0000 这个是红色

#00FF00 这个是黄色

#0000FF 这个是蓝色

我想知道任意一个 rgb 颜色到底是叫什么该怎么办?

不需要非常精确,但是比如有些比较相近的颜色,想知道到底是黄色还是绿色、紫色还是蓝色

3750 次点击
所在节点    程序员
22 条回复
cssk
2022-02-14 15:52:03 +08:00
只有少数的颜色有名字
TimePPT
2022-02-14 15:54:56 +08:00
自己维护套色卡对照表,具体 rgb 值和色卡值求相似度,匹配最高那个?

色卡的话,可以搜,有各种领域标准色卡对照表可以用
0x2CA
2022-02-14 15:55:03 +08:00
有名字的是少数的,你可以先写好现有颜色对应的名字,rgb 只是一个坐标,(r,g,b)根据计算距离求得最近的颜色名称
yggd
2022-02-14 15:56:00 +08:00
不是每个值都对应一个名字

参考一下: http://zhongguose.com/
mcfog
2022-02-14 16:00:22 +08:00
hsl 坐标更符合人眼感受,先转换 hsl 坐标系应该能获得更好的效果
不过 hue 的单位不一样需要处理一下
3dwelcome
2022-02-14 16:02:58 +08:00
RRGGBB 这格式,给计算机看的。

你要用前端的思维思考颜色选择问题。

比如前端 tailwindCSS ,都是用红色-100(最亮) ~ 红色-900(最暗)来定义,中间都是过渡色。

你脑补一下,红色-400 和红色-600, 就是一个亮红,另一个暗红。
mainjzb
2022-02-14 16:08:39 +08:00
转换成 hsl 看角度。能大致区分什么颜色
mainjzb
2022-02-14 16:09:12 +08:00
vzyw
2022-02-14 16:17:39 +08:00
@mainjzb 这一圈下来是 红橙黄绿青蓝紫吗
Kilerd
2022-02-14 16:27:18 +08:00
找出所有带名字的颜色,然后计算 distance ,找出最接近的那个。
icyalala
2022-02-14 16:30:42 +08:00
Vegetable
2022-02-14 16:31:26 +08:00
简单看过,提供一个思路。

https://www.w3school.com.cn/html/html_colornames.asp

我之前是取出 rgb 之后直接根据 RGB 计算欧氏距离,寻找最近的那个名字。
ColorfulBoar
2022-02-14 17:00:33 +08:00
听着很像是个 XY problem……虽然不知道你真实需求是啥,但一般来说你找出来颜色名字都没有什么意义:不同环境会极大影响人的视觉感受,非色弱没有经过训练也很容易搞错真实环境中的颜色 & 很多颜色用物体命名的,如果你觉得草和番茄颜色差不多,那草绿和番茄红这两个名字可能不能给你带来任何信息。
所以不如好好学色彩理论,色弱也能配出好看的颜色来
meshell
2022-02-14 17:09:49 +08:00
看这个吧 https://coolors.co/
EsCoffier
2022-02-14 17:34:15 +08:00
微软出的 PowerToys 里面的取色器有这么一项功能,可以看一下
MiniGhost
2022-02-14 17:43:06 +08:00
RGB 三原色可以映射成 X 、Y 、Z 三维正方体,每个轴都是 0-255 的正整数

维护一个确定的颜色名称表,比如#FF0000 红色,等于( 255 ,0 ,0 )是三维正方体上的一个坐标。

每一个随机的颜色点,可以遍历一遍颜色表,求两点之间的相对距离
公式是:d=sqrt(x1-x2)^+(y1-y2)^+(z1-z2)^)

如果两点之间距离某个标准颜色小于一个值,比如 #FF0000 与 #FE0000 距离为 1 ,那么就可以认为是红色



如果颜色表过大,可以剪枝一下,三维中的任意维度差大于某个值就直接 skip
GeruzoniAnsasu
2022-02-14 17:49:54 +08:00
@vzyw

我大概能理解你的期望是什么,但很遗憾,配色是很复杂很专业的事。颜色不是静止绝对的,在不同光照条件或者说背景色下一个绝对色值完全可以呈现不同的色彩,而且相同色相、不同饱和度和亮度的颜色也可以叫成同一个名字,当你感官无法区分它们的时候,靠粗略的名字更没办法准确地辨识或选择它们。

我觉得 #13 的建议是很可取的,即使感官不能有效区分颜色,但色彩理论、配色方法这些是能通过理论学习提高的,有些从事绘画的人也色弱,他们选色就是靠的背色表。 比如 就算你分辨不出 橙色棕色绿色的区别,但你完全可以在色相环上选相近或者互补的位置,这是不需要知道这个颜色在其他人眼里看起来究竟是什么样的。
westoy
2022-02-14 18:02:30 +08:00
体检表上全是色盲, 但实际是全色弱的同时玩摄影的表示你真的需要一块 spidercheckr
lynan
2022-02-15 10:03:20 +08:00
之前写过一个计算颜色名称的页面
可以看看 https://lynan.cn/static/random_color.html
颜色数据来源于 https://www.shouce.ren/api/html/html4/appendix-color.html IE4+预命名颜色
nonduality
2022-02-15 10:16:38 +08:00
Python 有个包叫 colorpedia ,用起来很方便

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/833788

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX