HSB Color to RGB
Here is a quick utility function for PHP to calculating the RGB hex for a given HSB color vector. It is based, in part, this article by Chris Jackson:
function hsbColor($h, $s, $b) { if(0 > $h || 360 < $h) { throw new Exception('Out of Range');} if(0 > $s || 1 < $s) { throw new Exception('Out of Range');} if(0 > $b || 1 < $b) { throw new Exception('Out of Range');} if($s == 0) { return sprintf("#%'02x%'02x%'02x", $b*255, $b*255, $b*255); } $hi = floor($h/60) % 6; $f = ($h/60) - floor($h/60); $p = 255 * $b * (1-$s); $q = 255 * $b * (1 - $f * $s); $t = 255 * $b * (1 - (1 - $f) * $s); $b = (int)($b * 255); switch($hi) { case 0: return sprintf("#%'02x%'02x%'02x", $b, $t, $p); break; case 1: return sprintf("#%'02x%'02x%'02x", $q, $b, $p); break; case 2: return sprintf("#%'02x%'02x%'02x", $p, $b, $t); break; case 3: return sprintf("#%'02x%'02x%'02x", $p, $q, $b); break; case 4: return sprintf("#%'02x%'02x%'02x", $t, $p, $b); break; case 5: return sprintf("#%'02x%'02x%'02x", $b, $p, $q); break; } }