我试图使用CSS滤镜模拟Photoshop的“颜色叠加”效果,但是在这个过程中发现CSS滤镜像癫痫一样不稳定。
“应该是
考虑颜色#FF0000
。如果我们将它的色相旋转120度
,应该得到#00FF00
,而将其旋转240度
,应该得到#0000FF
。这是理性的范畴。现在让我们进入CSS滤镜:
body { font: bold 99px Arial }
span { color: #F00; }
.daltonics-wont-notice {
-webkit-filter: hue-rotate(120deg);
filter: hue-rotate(120deg);
}
.precision-is-overrated {
-webkit-filter: hue-rotate(240deg);
filter: hue-rotate(240deg);
}
<span class="red">☺</span>
<span class="daltonics-wont-notice">☹</span>
<span class="precision-is-overrated">☹</span>
#00FF00
的颜色变成了#007100
,而应该是 #0000FF
的颜色变成了#0132FF
。通过使用hue-rotate
,色相、饱和度和亮度已经被设置为跨浏览器的无意义级别。
我需要赶上克苏鲁并弄清楚他编码的逻辑,这样我就可以绕过它。
这是一个与HSV或HSL无关的奇怪颜色空间吗?是否可能将HSV、HSL或RGB坐标转换为这个异想天开的维度?它有一个名字吗?一个标准吗?一个信奉者吗?”