- Модуль: landing
- Путь к файлу: ~/bitrix/modules/landing/lib/hook/page/theme.php
- Класс: BitrixLandingHookPageTheme
- Вызов: Theme::convertRgbToHsl
static function convertRgbToHsl(int $red, int $green, int $blue): array
{
$red /= 255;
$green /= 255;
$blue /= 255;
$max = max($red, $green, $blue);
$min = min($red, $green, $blue);
$lightness = ($max + $min) / 2;
$d = $max - $min;
if($d == 0)
{
$hue = $saturation = 0;
}
else
{
$hue = 0;
$saturation = $d / (1 - abs(2 * $lightness - 1));
switch($max)
{
case $red:
$hue = 60 * fmod((($green - $blue) / $d), 6);
if ($blue > $green)
{
$hue += 360;
}
break;
case $green:
$hue = 60 * (($blue - $red) / $d + 2);
break;
case $blue:
$hue = 60 * (($red - $green) / $d + 4);
break;
default:
break;
}
}
return [
round($hue, 2),
round($saturation, 2) * 100,
round($lightness, 2) * 100,
];
}