Thomas Meinike: Zufallsfarben mit PHP generieren

Beitrag lesen

Hallo,

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

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."">&nbsp;</div>\n";
    print $zeile;
  }
}

?>

BTW: Eine SVG-Umsetzung gibt es bereits: http://svglbc.datenverdrahten.de/?code=zufallsfarben2&znr=on.

MfG, Thomas