0

假设我有以下 RGB 值:

右:129 克:98 乙:87

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

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

4

2 回答 2

3

在 PHP 中查看RGB 到 HSV

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

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 即可获得百分比。

于 2010-03-05T00:56:26.597 回答
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];    
于 2010-03-05T01:00:35.233 回答