function _color_rgb2hsl
Same name in other branches
- 9 core/modules/color/color.module \_color_rgb2hsl()
- 8.9.x core/modules/color/color.module \_color_rgb2hsl()
Converts an RGB triplet to HSL.
1 call to _color_rgb2hsl()
- _color_shift in modules/
color/ color.module - Shifts a given color, using a reference pair and a target blend color.
File
-
modules/
color/ color.module, line 793
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,
);
}
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.