改变#RGB颜色的饱和度:这里有什么缺失?

问题描述 投票:2回答:3

下面是使用brightness()saturation()进行亮度/饱和度变化程序的概念。

function brightness($colorstr, $steps) { 
    ...
    return sprintf("%02x%02x%02x", $r, $g, $b);
} 
function saturation(){ 
    ...
    return sprintf("%02x%02x%02x", $r, $g, $b);
}

是否有任何现成的简单易用的时尚在线补充这一点,并使以下可能:

$color2 = saturation($color,-10); /* less staurated*/
$color3 = saturation($color,+10); /* more staurated*/
php function colors hex
3个回答
2
投票

饱和度和亮度不能相同(有人可能会说你使用这个代码没有正确处理亮度,但它可能足够接近)。有关如何将颜色转换为HSV值,请参阅此问题RGB to HSV in PHP,然后您可以修改饱和度(S值)。然后转换回这个问题的答案PHP HSV to RGB


1
投票

我无法用代码回答这个问题,但我这个关于色调和色度的q​​azxswpoi很好地描述了这个理论。


1
投票

您可以使用phpColors库轻松完成此操作:

一旦包含在您的项目中,您可以像这样陷入饱和状态:

https://github.com/mexitek/phpColors
© www.soinside.com 2019 - 2024. All rights reserved.