Pop\Color\Convert::hsbToRgb PHP Метод

hsbToRgb() публичный статический Метод

Method to convert an HSB object to an integer RGB object
public static hsbToRgb ( Hsb $hsb ) : Rgb
$hsb Pop\Color\Space\Hsb
Результат Pop\Color\Space\Rgb
    public static function hsbToRgb(Space\Hsb $hsb)
    {
        $s = $hsb->getSaturation() / 100;
        $v = $hsb->getBrightness() / 100;
        if ($hsb->getSaturation() == 0) {
            $r = round($v * 255);
            $g = round($v * 255);
            $b = round($v * 255);
        } else {
            $h = $hsb->getHue() / 360;
            $h = $h * 6;
            if ($h == 6) {
                $h = 0;
            }
            $i = floor($h);
            $var1 = $v * (1 - $s);
            $var2 = $v * (1 - $s * ($h - $i));
            $var3 = $v * (1 - $s * (1 - ($h - $i)));
            switch ($i) {
                case 0:
                    $r = $v;
                    $g = $var3;
                    $b = $var1;
                    break;
                case 1:
                    $r = $var2;
                    $g = $v;
                    $b = $var1;
                    break;
                case 2:
                    $r = $var1;
                    $g = $v;
                    $b = $var3;
                    break;
                case 3:
                    $r = $var1;
                    $g = $v;
                    $b = $var3;
                    break;
                case 4:
                    $r = $var3;
                    $g = $var1;
                    $b = $v;
                    break;
                default:
                    $r = $v;
                    $g = $var1;
                    $b = $var2;
            }
            $r = round($r * 255);
            $g = round($g * 255);
            $b = round($b * 255);
        }
        return new Space\Rgb($r, $g, $b);
    }