首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CSS中Invert()所使用的颜色转换公式是什么?

CSS中Invert()所使用的颜色转换公式是什么?
EN

Stack Overflow用户
提问于 2019-04-29 08:13:16
回答 2查看 366关注 0票数 0

我在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%)的工作原理,因为它将图像完全转化为灰色。

我以为这个公式是这样的:

代码语言:javascript
复制
abs(255 - value of each pixel's individual channel value)

将255改为128并不能使图像完全变成灰色?

所以我找不到计算倒排值的公式。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-04-29 08:21:44

反相(量)的公式是

代码语言:javascript
复制
amount*(255-value)+(1-amount)*value

所以让我们一起去吧

代码语言:javascript
复制
255-value

对于0,你得到

代码语言:javascript
复制
value

对于.5,你可以得到

代码语言:javascript
复制
.5*(255-value)+(1-.5)*value
127.5-.5*value+.5*value
127.5

它将是灰色的,因为公式中的值被完全消除了。

票数 2
EN

Stack Overflow用户

发布于 2019-04-29 08:21:29

不管实际函数是什么,如果它将(r, g, b)的任何值转换为(128, 128, 128),那么就转换为it completely turns the image into grey

代码语言:javascript
复制
255,  50, 100 => 128, 128, 128
200, 255, 200 => 128, 128, 128
...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55899329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档