我遇到了CSS中的invert()
函数,该函数将图像颜色空间中的颜色反转。它采用百分比形式输入值,例如invert(60%)
或数字(包括0到1),例如invert(.6)
,然后根据输入反转图像颜色。
然后我偶然发现了这个站点,该站点有使用invert()
函数的几个示例
https://developer.mozilla.org/en-US/docs/Web/CSS/filter-function/invert
当输入为1或100%时,我了解invert
函数的工作原理,但是我无法理解invert(50%)
的工作原理,因为它将图像完全变成灰色。
我认为公式将类似于:
abs(255 - value of each pixel's individual channel value)
将255更改为128不能完全将图像变成灰色吗?
所以我找不到用于计算取反值的公式。
答案 0 :(得分:1)
invert(amount)的公式是
amount*(255-value)+(1-amount)*value
让1上得到
255-value
得到0即可得到
value
对于.5,您会得到
.5*(255-value)+(1-.5)*value
127.5-.5*value+.5*value
127.5
它将是灰色的,因为公式中的值已完全消除
答案 1 :(得分:0)
无论实际功能如何,如果它将(r, g, b)
的任何值转换为(128, 128, 128)
,然后将it completely turns the image into grey
转换。
255, 50, 100 => 128, 128, 128
200, 255, 200 => 128, 128, 128
...