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
我有一个问题。有什么方法或算法可以用来降低 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