======Prozentwert in hsla-Farbwert======= ===Eine einfach Funktion zum übersetzten einer Prozentzahl in einen Farbwert im hsla-Farbmodus=== \\ \\ //Prozentwert zu hsla String (Farbwert Grün->Gelb->Rot / Rot->Gelb->Grün) //************************************************************************************************************ // string bg_pro_col(double $pro, int $mid, int $mid, int $max,bool $flag, int $s, int $l, float $a) // // $pro = Przentwert der umgerechnet werden soll. // $flag (default 0) = 0 => Rot und 100 => Grün; 0 => Grün und 100 => Rot. // $min (default 0) = Unterer Grenzbereich. Unterhalb werden // alle Werte als Rot(flag=0) bzw. Grün(flag=1) ausgegeben. // $mid (default 50) = Der Wert gibt an an welchem Punkt von // die Hauptbereiche gewechselt werden. // $max (default 100) = Oberer Grenzbereich. Überhalb werden // alle Werte als Grün(flag=0) bzw. Rot(flag=1) ausgegeben. // $s (default 100) = Farbsättigung; 100 entspricht der Voltonfarbe; // gegen 0 über Grau zu Schwarz. // $l (default 50) = Helligkeit; 100 => Weiß; 0 => Schwarz. // $a (default 1.00) = Der Alphawert regelt die Transparenz. 1.00 => Voll sichtbar; // 0.00 => Volle Transparenz // // Rückgabe = hsla([Farbwert],[Sättigung]%,[Helligkeit]%,Transperenz) // (es werden keinen Leerzeichen vor oder nach dem Sting angehängt) /////////////////////////////////////////////////////////////////////////////////////////////////////////////// function bg_pro_col($pro,$min="0",$mid="50",$max="100",$flag="0",$s="100",$l="50",$a="1.00"){ $versatz = ($max-$min)/100; if ($pro<=$min&&$flag == 0){ $string = 'hsla(0,'.$s.'%,'.$l.'%,'.$a.')'; return $string; } if ($pro>=$max&&$flag == 0){ $string = 'hsla(100,'.$s.'%,'.$l.'%,'.$a.')'; return $string; } if ($pro<=$min&&$flag == 1){ $string = 'hsla(100,'.$s.'%,'.$l.'%,'.$a.')'; return $string; } if ($pro>=$max&&$flag == 1){ $string = 'hsla(0,'.$s.'%,'.$l.'%,'.$a.')'; return $string; } if($pro>$min&&$pro<$max&&$flag == 0){ $pro = ((($max-$min)*$pro)/100)+$min; $mid = ((($max-$min)*$mid)/100)+$min; if ($pro<=$mid){ $var = 50/$mid*$pro; $string = 'hsla('.$var.','.$s.'%,'.$l.'%,'.$a.')'; return $string; } else{ $var = $mid+((50/$mid)*($pro-$mid)); $string = 'hsla('.$var.','.$s.'%,'.$l.'%,'.$a.')'; return $string; } } if($pro>$min&&$pro<$max&&$flag == 1){ $pro = ((($max-$min)*$pro)/100)+$min; $mid = ((($max-$min)*$mid)/100)+$min; if ($pro<=$mid){ $var = 50/$mid*$pro; $string = 'hsla('.(100-$var).','.$s.'%,'.$l.'%,'.$a.')'; return $string; } else{ $var = $mid+((50/$mid)*($pro-$mid)); $string = 'hsla('.(100-$var).','.$s.'%,'.$l.'%,'.$a.')'; return $string; } } return 0; } Beispiel:\\ {{:wiki:demo_pro_col.jpg?direct |}}