在Lab、Hcl或任何感知均匀的颜色系统中改变色调和亮度
Changing hue and lightness in Lab, Hcl or any perceptually uniform color system
在HSL颜色空间中更改色调、饱和度和亮度非常容易。例如,请参阅此javascript实现。
生成类似、单色、三元、四元等配色方案也很容易。请参阅此javascript实现。
问题是HSL颜色系统在感知上不均匀
事实上,这是一个真正的问题。
如果你不知道我在说什么,那没关系。阅读:这里和这里。(这两篇文章很短,但很有价值,你真的应该读一读)。
解决方案是使用感知均匀的颜色空间,如:CieLab、CieLuv或Hcl。
问题是,这些颜色空间也有超出色域的颜色(无法显示的颜色)。
要在javascript中使用不同的颜色空间,请查看chroma.js或chromost。
在这个小介绍之后,这里是我的实际问题:
我想生成感知均匀的配色方案(类似、三元组、四元组、互补等)。正如我在Hsl中提到的,这很简单:例如,要生成三元组方案,我只需将HUE旋转120,然后旋转240,就有了三元组方案。
在CieLab、Hcl或CieLuv中,并没有那么简单。在Hcl(Hue,Chroma,Lightness)中,如果我在不改变色度和亮度的情况下旋转120级Hue,则生成的颜色可能无法显示(将在RGB空间之外)。
让我们总结一下这个问题:
如何在感知均匀的颜色系统(如CieLab、Hcl、CieLuv或任何其他感知均匀的色空间)中生成配色方案
我想用javascript实现这一点,但基本上我想找到方法,所以问题与语言无关。
我希望我们能一起找到一个聪明的方法:)
最后,我基于HUSL(人性化HSL)颜色空间解决了这个问题。这个颜色空间在感知上并不完全一致,但它非常接近它
你可以在这里了解更多信息:
http://boronine.com/husl/
- 改变所有<td>为特定的桌子点击颜色
- 如何用jquery动画改变背景颜色,就像一个过渡
- 在用Javascript更改背景颜色后:hover don'不要改变颜色
- 如何使用Javascript点击后使形状改变颜色
- 如果我在jquery移动中使用“onclick”,按钮不会改变颜色
- 用于根据用户改变文本区域的字体颜色的JavaScript'的选择
- 我可以't用d3改变多线图中的线上的颜色
- 如何在红绿灯序列中改变颜色
- CSS或JS-当输入被聚焦时,改变输入的背景颜色
- 为什么菜单背景颜色没有改变
- HTML5颜色选择改变跨度颜色
- HTML5渐变:改变渐变的颜色会改变画布上三角形的颜色
- 为什么gridview行的颜色没有改变?
- 根据颜色变化改变产品形象
- Jquery效果-对鼠标悬停背景颜色的改变;
- 移动浏览器中图标颜色不改变
- 添加CSS后,背景颜色不改变
- 在Lab、Hcl或任何感知均匀的颜色系统中改变色调和亮度
- 在退格键火,但预览颜色不改变
- 当使用JavaScript禁用时,文本框的颜色需要改变