【发布时间】:2014-09-07 18:00:08
【问题描述】:
看看下面的 CSS:
.colorA{
color:#ff0000;
}
.colorB{
color:#ab123f;
}
.sameAsColorB{
color:#ff0000;
-webkit-filter:hue-rotate(...);
}
目标是:给定两个十六进制代码颜色,如何计算旋转度数以将第一个变为第二个?如果这不能总是通过 hue-rotate 完成,那么什么是有办法吗?
【问题讨论】:
-
根据我对色调旋转的理解,我得出的结论是,您无法获得所有颜色。如果您采用一种颜色并尝试使用色调旋转来获得任意颜色,您将面临它们可能具有不同半径的问题。色调旋转只旋转,不改变半径。
-
好的,但是你也可以使用 webkit 过滤器改变饱和度和许多其他方面,如果你不能单独使用 hue-rotate 来完成,那么如何计算所有必要的方面?
-
您需要检查每种颜色是如何用极坐标表示的。那么计算角度和距离就相当简单了。
-
This post - 使用 css 预处理器进行计算 - 可能会有所帮助