下面是使用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*/
饱和度和亮度不能相同(有人可能会说你使用这个代码没有正确处理亮度,但它可能足够接近)。有关如何将颜色转换为HSV值,请参阅此问题RGB to HSV in PHP,然后您可以修改饱和度(S值)。然后转换回这个问题的答案PHP HSV to RGB。
我无法用代码回答这个问题,但我这个关于色调和色度的qazxswpoi很好地描述了这个理论。