src/Alg/ColorConverter.php
public static function hsv2rgb( $hsv )
	{
		list( $h, $s, $v ) = $hsv;
		$rgb = array();
		$h	= $h / 60;
		$s	= $s / 100;
		$v	= $v / 100;
		if( $s == 0 )
		{
			$rgb[0]	= $v * 255;
			$rgb[1]	= $v * 255;
			$rgb[2]	= $v * 255;
		}
		else
		{
			$rgb_dec = array();
			$i	= floor( $h );
			$p	= $v * ( 1 - $s );
			$q	= $v * ( 1 - $s * ( $h - $i ) );
			$t	= $v * ( 1 - $s * ( 1 - ( $h - $i ) ) );
			switch( $i )
			{
				case 0:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $t;
				$rgb_dec[2]	= $p;
				break;
				case 1:
				$rgb_dec[0]	= $q;
				$rgb_dec[1]	= $v;
				$rgb_dec[2]	= $p;
				break;
				case 2:
				$rgb_dec[0]	= $p;
				$rgb_dec[1]	= $v;
				$rgb_dec[2]	= $t;
				break;
				case 3:
				$rgb_dec[0]	= $p;
				$rgb_dec[1]	= $q;
				$rgb_dec[2]	= $v;
				break;
				case 4:
				$rgb_dec[0]	= $t;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $v;
				break;
				case 5:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $q;
				break;
				case 6:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $q;
				break;
			}
			$rgb[0]	= round( $rgb_dec[0] * 255 );
			$rgb[1]	= round( $rgb_dec[1] * 255 );
			$rgb[2]	= round( $rgb_dec[2] * 255 );
		}
		return $rgb;
	}
public static function hsv2rgb( $hsv )
	{
		list( $h, $s, $v ) = $hsv;
		$rgb = array();
		$h	= $h / 60;
		$s	= $s / 100;
		$v	= $v / 100;
		if( $s == 0 )
		{
			$rgb[0]	= $v * 255;
			$rgb[1]	= $v * 255;
			$rgb[2]	= $v * 255;
		}
		else
		{
			$rgb_dec = array();
			$i	= floor( $h );
			$p	= $v * ( 1 - $s );
			$q	= $v * ( 1 - $s * ( $h - $i ) );
			$t	= $v * ( 1 - $s * ( 1 - ( $h - $i ) ) );
			switch( $i )
			{
				case 0:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $t;
				$rgb_dec[2]	= $p;
				break;
				case 1:
				$rgb_dec[0]	= $q;
				$rgb_dec[1]	= $v;
				$rgb_dec[2]	= $p;
				break;
				case 2:
				$rgb_dec[0]	= $p;
				$rgb_dec[1]	= $v;
				$rgb_dec[2]	= $t;
				break;
				case 3:
				$rgb_dec[0]	= $p;
				$rgb_dec[1]	= $q;
				$rgb_dec[2]	= $v;
				break;
				case 4:
				$rgb_dec[0]	= $t;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $v;
				break;
				case 5:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $q;
				break;
				case 6:
				$rgb_dec[0]	= $v;
				$rgb_dec[1]	= $p;
				$rgb_dec[2]	= $q;
				break;
			}
			$rgb[0]	= round( $rgb_dec[0] * 255 );
			$rgb[1]	= round( $rgb_dec[1] * 255 );
			$rgb[2]	= round( $rgb_dec[2] * 255 );
		}
		return $rgb;
	}
public static function hsv2rgb ( $ hsv ) { list ( $ h , $ s , $ v ) = $ hsv ; $ rgb = array ( ) ; $ h = $ h / 60 ; $ s = $ s / 100 ; $ v = $ v / 100 ; if ( $ s == 0 ) { $ rgb [ 0 ] = $ v * 255 ; $ rgb [ 1 ] = $ v * 255 ; $ rgb [ 2 ] = $ v * 255 ; } else { $ rgb_dec = array ( ) ; $ i = floor ( $ h ) ; $ p = $ v * ( 1 - $ s ) ; $ q = $ v * ( 1 - $ s * ( $ h - $ i ) ) ; $ t = $ v * ( 1 - $ s * ( 1 - ( $ h - $ i ) ) ) ; switch ( $ i ) { case 0 : $ rgb_dec [ 0 ] = $ v ; $ rgb_dec [ 1 ] = $ t ; $ rgb_dec [ 2 ] = $ p ; break ; case 1 : $ rgb_dec [ 0 ] = $ q ; $ rgb_dec [ 1 ] = $ v ; $ rgb_dec [ 2 ] = $ p ; break ; case 2 : $ rgb_dec [ 0 ] = $ p ; $ rgb_dec [ 1 ] = $ v ; $ rgb_dec [ 2 ] = $ t ; break ; case 3 : $ rgb_dec [ 0 ] = $ p ; $ rgb_dec [ 1 ] = $ q ; $ rgb_dec [ 2 ] = $ v ; break ; case 4 : $ rgb_dec [ 0 ] = $ t ; $ rgb_dec [ 1 ] = $ p ; $ rgb_dec [ 2 ] = $ v ; break ; case 5 : $ rgb_dec [ 0 ] = $ v ; $ rgb_dec [ 1 ] = $ p ; $ rgb_dec [ 2 ] = $ q ; break ; case 6 : $ rgb_dec [ 0 ] = $ v ; $ rgb_dec [ 1 ] = $ p ; $ rgb_dec [ 2 ] = $ q ; break ; } $ rgb [ 0 ] = round ( $ rgb_dec [ 0 ] * 255 ) ; $ rgb [ 1 ] = round ( $ rgb_dec [ 1 ] * 255 ) ; $ rgb [ 2 ] = round ( $ rgb_dec [ 2 ] * 255 ) ; } return $ rgb ; }
Converts HSV to RGB.
@access		public
@static
@param		array	hsv		HSV-Color as array
@return		array
Converts HSV to RGB .