2010-04-04 136 views
0

我遇到过这么棒的function/command。颜色到RGB,你可以这样做:颜色名称为RGB /十六进制/ HSL/HSV等

col2rgb("peachpuff") 
//returns hex 

它会返回一个十六进制值。我想用Perl,Python或PHP扩展它,但我希望能够传入,例如“黄色”,函数返回所有类型的黄色 - 它们的十六进制/ rgb /?/ etc值。

我已经有一个快速的解决方案实现了,它涉及将颜色名称映射到十六进制值,但现在我想要得到更精确和使用一些公式等来确定是什么。

但是,像往常一样,我不知道如何做到这一点!所以我很欣赏任何有关如何做到这一点的实施建议。

谢谢全部

+0

你有没有任何例子可以计算出你将要传递什么样的东西? – Tarka 2010-04-04 01:24:35

+0

@Slokun - 你是什么意思?我会传递诸如“黄色”,“紫色”,“粉红色”等字符串,并希望返回适合该字符串或颜色组的所有颜色的rgb或十六进制值。 – Abs 2010-04-04 01:26:03

+0

如果你只是使用基色,你不能用它们来计算,它们必须被映射,并用作基础。还有其他的东西需要计算,比如“黄色 - 红色”(会变成橙色),“黄橙色”,“浅蓝色”等。这就是你的意思吗? – Tarka 2010-04-04 01:31:17

回答

1

的规范CSS颜色名称起源于X11和集合的交集 - 连同他们的RGB值可以是 - found at Wikipedia

更容易分析列表可以在分散在网络various rgb.txt文件中找到,但这些都是有可能的X11设置不是CSS设置。

增加:给定一个RGB值,你可以计算出附近的颜色HSL conversion。调色板 - 颜色集合在一起 - 是艺术而不是科学,Google 'em

+0

我正在使用一个类似的映射,但它只会返回一个值。不是其他类似的颜色或家庭的黄色或绿色,如果我通过黄色或绿色。 – Abs 2010-04-04 01:36:42

+0

如果输入“黄色”,则返回所有其他存在的黄色。这不是调色板!我今天已经看过那个页面了 - 它似乎没有找到附近的颜色,我会再看看,也许数学对我来说有点困难。 – Abs 2010-04-04 01:48:00

+0

'grep yellow rgb.txt'会执行我认为你所要求的操作,但是它会给出糟糕的结果,因为许多你可能称之为“黄色”的颜色名称在名称中没有“黄色”。你可能需要阅读什么颜色意味着更好地理解你想要问的问题。 “黄色”这个想法比我们通常所想的要复杂得多。 – msw 2010-04-04 02:11:23

0

为什么不使用ccs颜色名称。 W3C webstandard - >CSS3/SVG Farben

+0

我正在使用一个类似的映射,但它只会返回一个值。不是其他类似的颜色或家庭的黄色或绿色,如果我通过黄色或绿色。 – Abs 2010-04-04 01:37:37