I
It'sNever2Late!
Gast
Hi,
ich sitze gerade an einem kleinen Modul für Drupal 6 welches ich fertig gestellt habe.
Es soll dazu dienen vorhandene Formulare (Webform) zu analysieren und im Endeffekt eine Grafik anzuzeigen.
Das klappt auch soweit ganz gut.
Ich habe ein Select-Feld eingebaut, bei dem ich mir das Farbschema aussuchen kann.
Und ich habe mir noch ne kleinere Funktion geschrieben, die mir (je nach Farbschema) einen anderen Farbton liefert.
Ich möchte mit meiner Funktion keine absoluten zufalls-Farben bekommen sondern beispielsweise verschiedene Rot-Töne.
Die einzigen Bedingungen die ich habe sind, dass ich das nicht irgendwie mit Zufallsklassen (also per CSS) regeln möchte, da das in diesem Fall gar nicht geht und, dass die Farben als Hex-Zahl vorliegen müssen.
Meine Funktion wird für jeden einzelnen Vergleichswert aufgerufen und sieht wie folgt aus:
$chart_id =ID vom Chart
$i = Aktueller Vergleichswert
Blau (z.B.) sieht aktuell so aus, was nicht so toll ist:
Ich hoffe, dass ihr mich verstanden habt und mir helfen könnt.
Gruß
ich sitze gerade an einem kleinen Modul für Drupal 6 welches ich fertig gestellt habe.
Es soll dazu dienen vorhandene Formulare (Webform) zu analysieren und im Endeffekt eine Grafik anzuzeigen.
Das klappt auch soweit ganz gut.
Ich habe ein Select-Feld eingebaut, bei dem ich mir das Farbschema aussuchen kann.
Und ich habe mir noch ne kleinere Funktion geschrieben, die mir (je nach Farbschema) einen anderen Farbton liefert.
Ich möchte mit meiner Funktion keine absoluten zufalls-Farben bekommen sondern beispielsweise verschiedene Rot-Töne.
Die einzigen Bedingungen die ich habe sind, dass ich das nicht irgendwie mit Zufallsklassen (also per CSS) regeln möchte, da das in diesem Fall gar nicht geht und, dass die Farben als Hex-Zahl vorliegen müssen.
Meine Funktion wird für jeden einzelnen Vergleichswert aufgerufen und sieht wie folgt aus:
PHP:
function chart_give_color($chart_id, $i){
$res = db_query("SELECT color FROM chart_items WHERE chart_id = %d", $chart_id);
$color = db_result($res);
if($i == 0) $i = 60;
else $i = rand(10,99);
$tmp = rand(0,9);
$sw = array();
$sw[] = '000000'; $sw[] = '1a1a1a'; $sw[] = '333333'; $sw[] = '4c4c4c'; $sw[] = '666666';
$sw[] = '808080'; $sw[] = '999999'; $sw[] = 'b2b2b2'; $sw[] = 'cccccc'; $sw[] = 'e6e6e6';
$custom1 = $sw[$tmp];
$ac = array();
$ac[] = 'ff0000'; $ac[] = '0000ff'; $ac[] = '00ff00'; $ac[] = 'ffff00'; $ac[] = '660099';
$ac[] = 'ff6600'; $ac[] = '33ffcc'; $ac[] = 'ff00ff'; $ac[] = '0066ff'; $ac[] = '990000';
$custom2 = $ac[$tmpz];
switch($color){
case 'or': return NULL; // Standard (Orange)
case 'ro': return $i."0000"; // Rot
case 'bl': return "0000".$i; // Blau
case 'gr': return "00".$i."00"; // Grün
case 'sw': return $custom1; // Schwarz/Weiß
case 'ac': return $custom2; // Bunt
}
}
$chart_id =ID vom Chart
$i = Aktueller Vergleichswert
Blau (z.B.) sieht aktuell so aus, was nicht so toll ist:
Ich hoffe, dass ihr mich verstanden habt und mir helfen könnt.
Gruß