[求助] css 的 filter 属性的hue-rotate()函数究竟是怎么计算的
css吧
全部回复
仅看楼主
level 1
蒋命回
楼主
这是一个色相图
ps的色相调整把红色变成黄色是色相转60度
css的hsl函数的色相 红色是0黄色是60
可是为什么这个hue-rotate函数把红色转60度却是这个棕色?
hue-rotate函数究竟计算了个啥?
2021年02月12日 14点02分
1
level 11
芝士猪柳蛋帕尼尼
这是一个很有趣的问题 ,竟然在大年初一被提出来,又碰巧看到
简单来讲就是浏览器的这个转换算法并不完美,在转换的时候会丢失掉饱和度之类的计算,所以并不能达到像 PS 那样完美的转换
你可以通过一个小实验来验证这个有趣的问题,先将颜色设为 #FF0000 然后滤镜转换 360°,可以看到颜色还是原来的,因为转了一圈嘛
但你如果只转换180°,再通过截屏等工具看下现在的色值,然后将刚才 #FF0000 修改为转换 180°的实际颜色,这时候再看下这个颜色转 180°能否回到一开始的 #FF0000 呢,很显然失败了,这就是关于你提问的答案
详细参考
https://stackoverflow.com/questions/19187905/why-doesnt-hue-rotation-by-180deg-and-180deg-yield-the-original-color
2021年02月13日 13点02分
2
蒋命回
感谢解答
2021年02月13日 18点02分
1