【发布时间】:2011-04-05 13:47:15
【问题描述】:
我可以使用以下代码将 RGB 值转换为 HSV...
$r = $r/255;
$g = $g/255;
$b = $b/255;
$h = 0;
$s = 0;
$v = 0;
$min = min(min($r, $g),$b);
$max = max(max($r, $g),$b);
$r = $max-$min;
$v = $max;
if($r == 0){
$h = 0;
$s = 0;
}
else {
$s = $r / $max;
$hr = ((($max - $r) / 6) + ($r / 2)) / $r;
$hg = ((($max - $g) / 6) + ($r / 2)) / $r;
$hb = ((($max - $b) / 6) + ($r / 2)) / $r;
if ($r == $max) $h = $hb - $hg;
else if($g == $max) $h = (1/3) + $hr - $hb;
else if ($b == $max) $h = (2/3) + $hg - $hr;
if ($h < 0)$h += 1;
if ($h > 1)$h -= 1;
}
但是如何在PHP中将HSV 转 RGB???
以下是维基百科,但我不明白,
我猜这很明显
【问题讨论】:
-
这里有公式:en.wikipedia.org/wiki/…
-
我知道,但谁能解释一下公式
-
这个公式真的适合你吗?因为你重新引入了 $r 变量(不像动态语言......)。
-
这能回答你的问题吗? PHP function to convert HSL to RGB or Hex