9

如果很容易改变 HSL 颜色空间中的色调、饱和度和亮度。例如,请参阅此 javascript 实现

生成配色方案也很容易,例如:类比、单色、三色、四色等。请参阅此 javascript 实现

问题在于 HSL 颜色系统在感知上并不统一。
实际上这是一个真正的问题。

如果你不知道我在说什么,没关系。阅读它:这里这里。(这两篇文章很短但很有价值,你真的应该阅读它们)。

解决方案是使用感知一致的色彩空间,例如:CieLab、CieLuv 或 Hcl。

问题是这些色彩空间也有超出色域的颜色(无法显示的颜色)。

要在 javascript 中使用不同的颜色空间,请查看chroma.jschromatist

在这个小介绍之后是我的实际问题:

我想生成感知上统一的配色方案(类似的、三色的、四色的、互补的等)。正如我在 Hsl 中提到的那样,它很简单:例如,要生成一个三元组方案,我只需将 HUE 旋转 120,然后使用 240,我就有一个三元组方案。

好吧,在 CieLab、Hcl 或 CieLuv 中,这并不是那么简单。在 Hcl(色相、色度、亮度)中,如果我在不改变色度和亮度的情况下将色相旋转 120 级,则生成的颜色可能无法显示(将在 RGB 空间之外)。

让我们总结一下这个问题:

如何在感知一致的颜色系统(如 CieLab、Hcl、CieLuv 或任何其他感知一致的颜色空间)中生成配色方案?

我想在javascript中实现这个,但基本上我想找到方法,所以问题是语言无关的。

我希望我们能一起找到一个聪明的方法:)

4

1 回答 1

5

最后我基于HUSL(Human Friendly HSL)色彩空间解决了这个问题。这个色彩空间在感知上并不完全一致,但非常接近。

您可以在此处了解更多信息:

http://boronine.com/husl/

于 2013-03-06T10:18:10.800 回答