繁体   English   中英

去饱和RGB颜色的算法

[英]Algorithm to desaturate RGB color

我有个问题。 是否有某种方法或某种算法可以用来降低 RGB 值的饱和度,而无需将颜色转换为 HSV 或 HSL? 我的 RGB 输入将完全饱和,因此我只需要一种使颜色去饱和的方法。

我正在开发一个颜色选择器,我需要一种快速有效的方法来做到这一点。 我们欢迎所有的建议:)

简单的方法(忽略感知亮度,如0.3R+0.6G+0.11B和其他公式):

初始颜色(r,g,b)
相同强度的灰色(i,i,i)
其中i = (r + g + b) / 3

与灰色分量的偏差:

dr = i - r
dg = i - g
db = i - b

让参数t从初始饱和颜色的 0 变为灰色的 1。 所以

r' = r + dr * t  
g' = g + dg * t
b' = b + db * t

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM