private function convertHSVtoRGB(float $hue, float $saturation, float $value): string
    {
        // First
        $hue *= 6;

        // Second
        $i = floor($hue);
        $f = ($hue - $i);

        // Third
        $m = ($value * (1 - $saturation));
        $n = ($value * (1 - $saturation * $f));
        $k = ($value * (1 - $saturation * (1 - $f)));

        // Forth
        switch ($i) {
            case 0:
                list($red, $green, $blue) = array($value, $k, $m);
                break;
            case 1:
                list($red, $green, $blue) = array($n, $value, $m);
                break;
            case 2:
                list($red, $green, $blue) = array($m, $value, $k);
                break;
            case 3:
                list($red, $green, $blue) = array($m, $n, $value);
                break;
            case 4:
                list($red, $green, $blue) = array($k, $m, $value);
                break;
            case 5:
            case 6:
                // for when $H=1 is given
            default:
                list($red, $green, $blue) = array($value, $m, $n);
                break;
        }

        return sprintf('#%02x%02x%02x', ($red * 255), ($green * 255), ($blue * 255));
    }
private function convertHSVtoRGB(float $hue, float $saturation, float $value): string
    {
        // First
        $hue *= 6;

        // Second
        $i = floor($hue);
        $f = ($hue - $i);

        // Third
        $m = ($value * (1 - $saturation));
        $n = ($value * (1 - $saturation * $f));
        $k = ($value * (1 - $saturation * (1 - $f)));

        // Forth
        switch ($i) {
            case 0:
                list($red, $green, $blue) = array($value, $k, $m);
                break;
            case 1:
                list($red, $green, $blue) = array($n, $value, $m);
                break;
            case 2:
                list($red, $green, $blue) = array($m, $value, $k);
                break;
            case 3:
                list($red, $green, $blue) = array($m, $n, $value);
                break;
            case 4:
                list($red, $green, $blue) = array($k, $m, $value);
                break;
            case 5:
            case 6:
                // for when $H=1 is given
            default:
                list($red, $green, $blue) = array($value, $m, $n);
                break;
        }

        return sprintf('#%02x%02x%02x', ($red * 255), ($green * 255), ($blue * 255));
    }
private function convertHSVtoRGB ( float $ hue , float $ saturation , float $ value ) : string { // First $ hue *= 6 ; // Second $ i = floor ( $ hue ) ; $ f = ( $ hue - $ i ) ; // Third $ m = ( $ value * ( 1 - $ saturation ) ) ; $ n = ( $ value * ( 1 - $ saturation * $ f ) ) ; $ k = ( $ value * ( 1 - $ saturation * ( 1 - $ f ) ) ) ; // Forth switch ( $ i ) { case 0 : list ( $ red , $ green , $ blue ) = array ( $ value , $ k , $ m ) ; break ; case 1 : list ( $ red , $ green , $ blue ) = array ( $ n , $ value , $ m ) ; break ; case 2 : list ( $ red , $ green , $ blue ) = array ( $ m , $ value , $ k ) ; break ; case 3 : list ( $ red , $ green , $ blue ) = array ( $ m , $ n , $ value ) ; break ; case 4 : list ( $ red , $ green , $ blue ) = array ( $ k , $ m , $ value ) ; break ; case 5 : case 6 : // for when $H=1 is given default : list ( $ red , $ green , $ blue ) = array ( $ value , $ m , $ n ) ; break ; } return sprintf ( '#%02x%02x%02x' , ( $ red * 255 ) , ( $ green * 255 ) , ( $ blue * 255 ) ) ; }
Convert hsv value to rgb value.

@param float $hue        Hue.
@param float $saturation Saturation.
@param float $value      Color value.

@return string
@see    http://stackoverflow.com/a/3597447

@SuppressWarnings(PHPMD.ShortVariable)
Convert hsv value to rgb value .