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

Php 改变#RGB颜色的饱和度:这里缺少什么?,php,function,colors,hex,Php,Function,Colors,Hex,下面是具有brightness()和saturation()的亮度/饱和度交替程序的概念 是否存在任何现有的简单易用的在线时尚,以补充这一点,并使以下内容成为可能: $color2 = saturation($color,-10); /* less staurated*/ $color3 = saturation($color,+10); /* more staurated*/ 饱和度和亮度不能用同样的方法处理(有人可能会说,你没有用这个代码正确地处理亮度,但可能已经足够接近了)。请参阅此问题

下面是具有
brightness()
saturation()
的亮度/饱和度交替程序的概念

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

$color2 = saturation($color,-10); /* less staurated*/
$color3 = saturation($color,+10); /* more staurated*/

饱和度和亮度不能用同样的方法处理(有人可能会说,你没有用这个代码正确地处理亮度,但可能已经足够接近了)。请参阅此问题,了解如何将颜色转换为HSV值,然后可以修改饱和度(S值)。然后用这个问题的答案转换回来。

我不能用代码回答这个问题,但我认为关于色调和色度的这个理论描述得很好。

你可以使用phpColors库轻松做到这一点:

一旦包含在项目中,您就可以像这样处理饱和度:

use Mexitek\PHPColors\Color;

// Convert my HEX
$myBlue = Color::hexToHsl("#336699");

// Get crazy with the saturation
$myBlue["S"] = 0.2;

// Gimme my new color!!
echo Color::hslToHex($myBlue);

确实+1表示完美,但现在我真的很好一些简单,简单和粗糙的东西。顺便说一句,我发现PHP从这个确实不正确的程序中给了我不正确的值,令人惊讶,不知怎的,我觉得它们是正确的。但这是私人的,我的朋友:)
use Mexitek\PHPColors\Color;

// Convert my HEX
$myBlue = Color::hexToHsl("#336699");

// Get crazy with the saturation
$myBlue["S"] = 0.2;

// Gimme my new color!!
echo Color::hslToHex($myBlue);