PHP计算出色彩饱和度

时间:2010-03-05 00:54:33

标签: php colors gd rgb hsv

假设我有以下RGB值:

R:129 G:98 B:87

Photoshop表示该颜色的饱和度为33%

我如何使用PHP和RGB值计算出这个百分比?

2 个答案:

答案 0 :(得分:3)

请参阅RGB to HSV in PHP

仅获取该代码中的饱和位,并转换为百分比:

function saturation($R, $G, $B) {  // 0-255
     $Min = min($R, $G, $B);
     $Max = max($R, $G, $B);
     return $Max == 0 ? 0 : (($Max - $Min) / $Max) * 100;
}

或者您可以使用上面链接中的原始代码 - 它返回的HSV值介于0.0和1.0之间,因此您只需要将饱和度值乘以100即可获得百分比。

答案 1 :(得分:0)

PEAR (PHP Extensions And Application Repository)有一个名为Image_Color2的精美软件包,可让您快速转换不同颜色的模型:

include "Image/Color2.php";

$color = new Image_Color2(array(129,98,87));
$hsv = $color->convertTo('hsv');
$hsvArray = $hsv->getArray();

echo "Hue is " . $hsvArray[0] . "\n";
echo "Saturation is: " . $hsvArray[1] . "\n";
echo "Brightness is: " . $hsvArray[2];    
相关问题