【发布时间】:2019-10-20 14:25:42
【问题描述】:
我正在寻找一个库/算法/技术来获取 3 种加法或减法颜色,并确定两种颜色中的 combination 中的哪一种颜色 x。
这不是一个正确的例子(因为我对色彩理论还不太了解),但这是为了说明这一点。假设你有一种像绿棕色#45512b 这样的颜色。要解决的问题是找出 - 对于两个系统(加法和减法) - 将生成绿棕色(给定颜色)的颜色对。
所以你有值“绿褐色”#45512b,并且想知道什么颜料混合在一起形成这种颜色。也许是#fff123 和#bbb456 减法结合形成绿褐色(只是弥补)。然后进行加色混合,找出计算模型中使用的 3 种基色光的两种光度,它们结合起来形成绿棕色。
基本上就是在找这个:
function additiveComponents(color) {
return [ a, b ]
}
function subtractiveComponents(color) {
return [ a, b ]
}
输入颜色不需要是十六进制格式,任何color spaces 都可以。但最后我想将两个输出值转换回十六进制值。
我可以想象的一种天真的方法是采用reverse algorithm(将两种颜色混合为第三种颜色的算法),并尝试每种颜色组合,直到找到合适的颜色。但这将是超级低效的,想知道是否有更好的方法或标准技术。
【问题讨论】:
-
我是否遗漏了一些东西,但难道没有多种颜色可以添加到单一颜色中吗?
-
无论如何 - xolor 对你有用吗?
-
我不知道大声笑,但我可以看到。
-
不错!它有:“ xolorObject.add(otherColor) - 返回两种颜色的加法混合。xolorObject.subtractive(otherColor) - 返回两种颜色的减法混合。”但是,仍然是同样的问题,如何进行该操作的reverse。
-
唉,它没有我要找的功能:/
标签: javascript algorithm colors color-theory