2010-04-04 115 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

相關問題