Zufallsgenerator liefert irgendwann kein Zufallswert mehr...

redX

Erfahrenes Mitglied
Also es geht mal um das hier: http://simonlang.ch/ava/test6.3.jpg
Dieses Bild wird mit PHP Generiert. Jeder Buchstabe soll eine andere Farb haben (beim jedem Reloade werden die Farben neu gesetz). Doch irgendwann haben alle die gleiche Farbe... Kann mir sagen wieso? Der Farbwert wird folgendermassen gesetzt:

PHP:
srand( ((int)((double)microtime()*1000003)) );

/*** Ganz viel Code ***/

$strlen = strlen($array[$counter]); //Hier wird die Zeilenlänge bestummen. Im $array[$counter] steht der Text welcher ausgegeben werden soll.
$i = 0; //Counter
while($strlen > $i) { //Jedes zeichen einzeln durchgehen.
	$text = imagecolorallocate ($bild, rand(0,255), rand(0,255), rand(0,255)); //Für jeden Buchstaben 3 Zufallszahlen bestimmen mit welchen der Farbwert bestimmt wird
	$char = substr($array[$counter], $i, ++$i); //Buchstabe bestimmen
	imagestring($bild, $size, $x + $size + (7 * $i) - 7, $y, $char, $text); //Buchstabe ausgeben.
}

Das ganze ist natürlich noch länger. Der Rahmen wird noch ausgegeben und die Position der Zeichen muss bestummen werden. Das sollte aber kein Einfluss auf die Zufallsgeneration haben oder? Aussderem ist es ein riesen Chaos :rolleyes:

Weiss jemand vielleicht eine Lösung?

Gruss
X
 
Ich weiß jetzt zwar nicht genau woran es liegt, aber du könntest mal statt rand() die Funktion [phpf]mt_rand[/phpf] benutzen.

greetz
daddz
 
Hmpf.. danke mal. Aber funktioniert auch nicht....

PHP:
function make_seed() {
   list($usec, $sec) = explode(' ', microtime());
   return (float) $sec + ((float) $usec * 100000);
}
mt_srand(make_seed())

/*** Some Code ***/

$text = imagecolorallocate ($bild, mt_rand(0,255), mt_rand(0,255), mt_rand(0,255));

Nochjemand ne Idee?
Hab den Code mal angehängt, wenn jemand Zeit & Lust findet den Code anzuschauen...

Gruss
X
 

Anhänge

Zuletzt bearbeitet:
Zurück