Zufallsfarben mit PHP generieren
N2O
- php
Hallo allerseits!
Ich habe eine Frage: Ich möchte gerne mit PHP (und nicht mit Javascript) Zufallsfarben erstellen lassen, ähnlich wie in diesem Beispiel:
http://www.styleassistant.de/tips/beispiel36a.htm
Nur halt nicht mit Javascript.
Merci
Lachgas
Hallo Lachgas!
Ich habe eine Frage: Ich möchte gerne mit PHP (und nicht mit Javascript) Zufallsfarben erstellen lassen, ähnlich wie in diesem Beispiel:
Das sollte mit Hilfe von rand() (http://de3.php.net/rand) recht einfach gehen.
Einfach rand(0, 255), das Ergebnis dann ins Sedezimale-Zahlensytsem umrechnen (siehe http://de3.php.net/manual/en/function.dechex.php), und dann eben ausgeben.
MfG
Götz
Hallo,
Ich habe eine Frage: Ich möchte gerne mit PHP (und nicht mit Javascript) Zufallsfarben erstellen lassen, ähnlich wie in diesem Beispiel:
Kommt mir irgendwie bekannt vor ;-).
Hier mal eine nahezu 1:1-Portierung, wobei die Abfrage der Fenstermaße entfaellt ($fbreite und $fhoehe entsprechend anpassen):
<?php
// zufallsfarben.php by TM 09/04
// analog zu http://www.styleassistant.de/tips/beispiel36a.htm
$fbreite=800;
$fhoehe=600;
$kantenlaenge=50;
$hanzahl=intval($fbreite/$kantenlaenge);
$vanzahl=intval($fhoehe/$kantenlaenge);
$istart=round(($fbreite-$hanzahl*$kantenlaenge)/2);
$jstart=round(($fhoehe-$vanzahl*$kantenlaenge)/2);
mt_srand((double)microtime()*1000000);
for($j=0;$j<$vanzahl;$j++)
{
$oben=$j*$kantenlaenge+$jstart;
for($i=0;$i<$hanzahl;$i++)
{
$zr=mt_rand(0,255);
$zg=mt_rand(0,255);
$zb=mt_rand(0,255);
$farbe="background-color: rgb(".$zr.",".$zg.",".$zb.");";
$links=$i*$kantenlaenge+$istart;
$hr=dechex($zr);if(strlen($hr)<2)$hr="0".$hr;
$hg=dechex($zg);if(strlen($hg)<2)$hg="0".$hg;
$hb=dechex($zb);if(strlen($hb)<2)$hb="0".$hb;
$hexfarbe="#".$hr.$hg.$hb;
$hexfarbe="Color Picker: ".strtoupper($hexfarbe);
$zeile="<div title="".$hexfarbe."" style="position: absolute; width: ".$kantenlaenge."px; height: ".$kantenlaenge."px; top: ".$oben."px; left: ".$links."px; ".$farbe.""> </div>\n";
print $zeile;
}
}
?>
BTW: Eine SVG-Umsetzung gibt es bereits: http://svglbc.datenverdrahten.de/?code=zufallsfarben2&znr=on.
MfG, Thomas
Danke für Eure Antworten.
Ich habe jedoch noch ein Problem: Ich will jetzt Variablen schaffen, in denen viele verschiedene Zufallszahlen erzeugt werden, also bspw.:
$farbe="style=color:rgb(".rand(0,255).",".rand(0,255).",".rand(0,255).")";
$farbe hat aber nun ja leider immer den gleichen Wert. Jetzt möchte ich natürlich eine FOR-Schleife haben, die $farbe1, $farbe2, $farbe3 ..... erzeugt. Das geht aber nicht.
Habt ihr eine Alternative / Lösung ??
Gruß
Lachgas
Hallo N2O!
$farbe="style=color:rgb(".rand(0,255).",".rand(0,255).",".rand(0,255).")";
Habt ihr eine Alternative / Lösung ??
Ich würde dafür ein Array nehmen.
Also:
$farben = array();
for ($i = 0; $i < 100; $i++) {
$farbe[] = 'style="color:rgb('.rand(0,255).','.rand(0,255).','.rand(0,255).')"';
}
Dann kannst Du ja bei der Ausgabe einfach das Array durchgehen.
Ist wohl einfacher und imho auch "sauberer" als mit $farbe1 -$farbeX.
MfG
Götz
Klasse, Vielen lieben Dank, Götz! Funktioniert jetzt alles!
Grüße
Lachgas