1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
function Hue_2_RGB( $v1, $v2, $vH ) //Function Hue_2_RGB
{
if ( $vH < 0 ) $vH += 1;
if ( $vH > 1 ) $vH -= 1;
if ( ( 6 * $vH ) < 1 ) return ( $v1 + ( $v2 - $v1 ) * 6 * $vH );
if ( ( 2 * $vH ) < 1 ) return ( $v2 );
if ( ( 3 * $vH ) < 2 ) return ( $v1 + ( $v2 - $v1 ) * ( ( 2 / 3 ) - $vH ) * 6 );
return ( $v1 );
}
function couleurHexa($T){
$H = $T/360; //Les paramêtres S et L sont mis pour avoir une couleur pure
$S = 1;
$L = 1/2;
if ( $S == 0 ) //HSL values = 0 ÷ 1
{
$R = $L * 255; //RGB results = 0 ÷ 255
$G = $L * 255;
$B = $L * 255;
}
else
{
if ( $L < 0.5 ){
$var_2 = $L * ( 1 + $S );
}
else{
$var_2 = ( $L + $S ) - ( $S * $L );
}
$var_1 = 2 * $L - $var_2;
$R = 255 * Hue_2_RGB( $var_1, $var_2, $H + ( 1 / 3 ) );
$G = 255 * Hue_2_RGB( $var_1, $var_2, $H );
$B = 255 * Hue_2_RGB( $var_1, $var_2, $H - ( 1 / 3 ) );
}
return '#'.str_pad(dechex($R),2,'0',STR_PAD_LEFT).str_pad(dechex($G),2,'0',STR_PAD_LEFT).str_pad(dechex($B),2,'0',STR_PAD_LEFT);
}
$couleurs = array();
$teinte = 120/($nbInterval); //La teinte varie de 0 pour le rouge à 120 pour le vert
for ($j=0;$j<=$nbInterval;$j++){
$couleurs[] = couleurHexa(120-$teinte*$j);
} |
Partager