_color_rgb2hsl

_color_rgb2hsl($rgb)

Converts an RGB triplet to HSL.

File

core/modules/color/color.module, line 809
Allows users to change the color scheme of themes.

Code

function _color_rgb2hsl($rgb) {
  $r = $rgb[0];
  $g = $rgb[1];
  $b = $rgb[2];
  $min = min($r, min($g, $b));
  $max = max($r, max($g, $b));
  $delta = $max - $min;
  $l = ($min + $max) / 2;
  $s = 0;

  if ($l > 0 && $l < 1) {
    $s = $delta / ($l < 0.5 ? (2 * $l) : (2 - 2 * $l));
  }

  $h = 0;
  if ($delta > 0) {
    if ($max == $r && $max != $g) {
      $h += ($g - $b) / $delta;
    }
    if ($max == $g && $max != $b) {
      $h += (2 + ($b - $r) / $delta);
    }
    if ($max == $b && $max != $r) {
      $h += (4 + ($r - $g) / $delta);
    }
    $h /= 6;
  }

  return array($h, $s, $l);
}
doc_Drupal
2016-10-29 09:57:07
Comments
Leave a Comment

Please login to continue.