如果非常容易,可更改HSL顏色空間中的色相,飽和度和亮度。 見this javascript implementation for example。在實驗室,Hcl或任何感知均勻的顏色系統中更改色調和亮度
生成顏色方案也很容易,如:類似,單色,三元組,四分體等。 請參閱this javascript implementation。
問題在於HSL顏色系統在感知上不統一。
而實際上這是一個真正的問題。
如果你不知道我在說什麼,沒關係。 閱讀詳情:here和here。 (這兩篇文章非常簡短但非常有價值,你應該閱讀它們)。
解決方案使用感知均勻的顏色空間,如:CieLab,CieLuv或Hcl。
問題是這些色彩空間的色彩也超出色域(無法顯示的色彩)。
用於在javascript中使用不同顏色空間檢出chroma.js或chromatist。
後這個小介紹,這裏是我實際的問題:
我要生成感知均勻的色彩方案(類似,黑社會,四分體,互補性等)。正如我在Hsl中提到的那樣,它很簡單:例如,要生成三元組方案,我只需將120旋轉爲240,然後使用三元組方案。
那麼,在CieLab,Hcl或CieLuv中並不那麼簡單。在Hcl(Hue,Chroma,Lightness)中,如果我將Hue旋轉120級而不改變色度和亮度,生成的顏色可能無法顯示(在RGB空間之外)。
讓我們總結了一個問題:
我怎麼能產生感知均勻的色彩系統配色方案(如CIELAB,HCL,CIELUV,或其他任何知覺上一致的色彩空間)?
我想在JavaScript中實現這一點,但基本上我想找到方法,所以問題是語言無關的。
我希望我們能找到一個巧妙的方式共同:)
不適當:
您可以瞭解更多有關它在這裏。請問一組色彩科學家。你說這是獨立語言的事實意味着這裏是OT。 – 2013-02-14 16:49:24
與其將它們稱作黑洞,我會建議使用常見的短語來解決問題,即這些顏色超出了給定集合的範圍。 – 2013-02-14 16:52:05
最後,您需要根據Lab等空間中的配色方案來定義您的目標更清晰。一旦你完成了,解決方案通常會很明顯。但是如果沒有這個定義,問題顯然是不可能的,而那些幫助你定義這個定義的人肯定是色彩科學家。再一次,這裏是OT。 – 2013-02-14 16:58:09