Example #1
0
 /**
  * convert HSL to RGB
  */
 static function hsl2rgb($hue, $sat, $lum, $format = 'float')
 {
     if ($sat == 0) {
         $red = $lum;
         $green = $lum;
         $blue = $lum;
     } else {
         if ($lum < 0.5) {
             $var_2 = $lum * (1 + $sat);
         } else {
             $var_2 = $lum + $sat - $sat * $lum;
         }
         $var_1 = 2 * $lum - $var_2;
         $red = Skrollr_Color_Tools::hue2rgb($var_1, $var_2, $hue + 1 / 3);
         $green = Skrollr_Color_Tools::hue2rgb($var_1, $var_2, $hue);
         $blue = Skrollr_Color_Tools::hue2rgb($var_1, $var_2, $hue - 1 / 3);
     }
     if ($format == 'float') {
         return array($red, $green, $blue);
     } else {
         if ($format == 'dec') {
             return array($red * 255, $green * 255, $blue * 255);
         } else {
             if ($format == 'hex') {
                 return implode('', array_map('Skrollr_Color_Tools::hexpadleft', array($red, $green, $blue)));
             }
         }
     }
 }