【问题标题】:HSL Colors to PigmentationHSL 颜色到色素沉着
【发布时间】:2014-10-31 15:16:18
【问题描述】:

我最近一直在开发一个颜色选择器应用程序,它允许用户选择颜色的色调、饱和度和亮度。在用户决定颜色后,我会为用户提供与所选颜色相匹配的不同配色方案。给出的一些配色方案是互补的、拆分互补的、三合会的、类似的等等。
例如:如果用户选择红色作为颜色,hsl(0, 100%, 50%) 来确定互补色,然后将 180 度添加到色调中,从而得到 (180, 100%, 50%) 这将是青色的。对于类似的方案,我加 30 并减去 30,依此类推。 一切都很好,直到我意识到这是网络颜色!
我仍将保留此功能,但现在我想创建类似于色素沉着的配色方案。例如,在现实生活中,红色的互补色将是绿色,而不是光的颜色中的青色。有人可以向我指出如何将 hsl 转换为色素沉着的资源吗?如何调整色调以使绿色与红色相反。

【问题讨论】:

标签: javascript colors color-scheme color-picker hsl


【解决方案1】:

我在网上找到了一个能够将 RYB 转换为 RGB 的脚本。这是脚本的link

这样,很容易通过从 255 中减去分量来计算补色:

var color = [255, 0, 0],     //red in RYB
    complement = color.map(function(n){ return 255 - n; });  //green in RYB

ryb2rgb(complement);         //[0, 169, 51], which is green in RGB

演示:http://jsfiddle.net/DerekL/3m53wbsc/

使用 RYB,可以很容易地看出棕色是唯一没有补色的颜色。要将 HSL 转换为 RGB,请参阅此答案:https://stackoverflow.com/a/9493060/283863

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-22
    • 2015-08-31
    • 1970-01-01
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    相关资源
    最近更新 更多