"; $aktfile = "/hsphere/local/home/umwelt/cug.umweltnetz.ch/bildchen/farb10/farbdaten.txt"; if (file_exists($aktfile)) { if ($datei = fopen ($aktfile, "r")) { $xx=0; while (!feof ($datei)) { $zeile = fgetcsv ($datei, 100); $xx=$xx+1; $wmf = $zeile[0]; //mittelfarb $wrr = $zeile[1]; //r $wgg = $zeile[2]; //g $wbb = $zeile[3]; //b $wfile = $zeile[4]; //filenam $werte[$wmf][5][1]=$werte[$wmf][5][1]+1; $aktwertindex=$werte[$wmf][5][1]; $werte[$wmf][0][$aktwertindex]=$wmf; $werte[$wmf][1][$aktwertindex]=$wrr; $werte[$wmf][2][$aktwertindex]=$wgg; $werte[$wmf][3][$aktwertindex]=$wbb; $werte[$wmf][4][$aktwertindex]=$wfile; } fclose ($datei); $farbmax = $xx; } } else { echo "Datei $aktfile nicht vorhanden"; } //echo $farbmax." Farben
"; //flush(); $hraster = 114; $vraster = 77; //matrix mit leerzeichen füllen for ($mm=1;$mm<=$hraster;$mm++) { for ($nn=1;$nn<=$vraster;$nn++) { $punkte[$mm][$nn] = 0; } //ende nn } //ende mm $anzleer = 18; for ($ii=1;$ii<=$anzleer;$ii++) { $hleer = $hraster; $vleer = $vraster-$ii+1; $punkte[$hleer][$vleer] = -1; } // berechnung grafikwert $farbgrenz1 = 45; $farbgrenz2 = 210; $mittelfarb=($farbgrenz1+$farbgrenz2)/2; $helldunkel = 1; $helldunkelhilf = round(mt_rand(-1,1),0); if ($helldunkelhilf < 0) $helldunkel=-1; if ($helldunkel == 1) { $farbzeil = round(mt_rand($farbgrenz1,$farbgrenz1+35),0); $farbricht = 1; } else { $farbzeil = round(mt_rand($farbgrenz2-35,$farbgrenz2),0); $farbricht = -1; } $farbschritt = round(mt_rand(2,6),0); for ($nn=1;$nn<=$vraster;$nn++) { $farbzeil=$farbzeil + $farbschritt * $farbricht; if ($farbzeil < $farbgrenz1) { $farbzeil = $farbgrenz1; $farbricht = -1 * $farbricht; } if ($farbzeil > $farbgrenz2) { $farbzeil = $farbgrenz2; $farbricht = -1 * $farbricht; } $fzeil[$nn]=$farbzeil; for ($mm=1;$mm<=$hraster;$mm++) { if ($punkte[$mm][$nn] != -1) { $punktwert = $farbzeil + round(mt_rand(-$farbschritt,$farbschritt),0); $punkte[$mm][$nn] = $punktwert; $farbbenutzt[$punktwert]=1; } } } // hier kommt der Text $tfarbdiff=80; //Frohe $ht1=11; $vt1=6; //schriftfarbe bestimmen $maxf1=0; $minf1=255; for ($ff1=$vt1;$ff1<=$vt1+10;$ff1++) { $maxf1=max($maxf1,$fzeil[$ff1]); $minf1=min($minf1,$fzeil[$ff1]); } $maxf1=$maxf1+$farbschritt; $minf1=$minf1-$farbschritt; $ffl1= ($maxf1+$minf1)/2; if ($ffl1>$mittelfarb) { $farbt1=$ffl1-$tfarbdiff; } else { $farbt1=$ffl1+$tfarbdiff; } // ende schriftfarbe bestimmen for ($t1n=0;$t1n<=10;$t1n++) { for ($t1m=0;$t1m<=strlen($frohe[$t1n]);$t1m++) { if (substr($frohe[$t1n],$t1m,1) == 1) { $akthpos=$ht1+$t1m; $aktvpos=$vt1+$t1n; $punkte[$akthpos][$aktvpos]=$farbt1 + round(mt_rand(-$farbschritt,$farbschritt),0); } } //ende for Textstring } //ende for Textzeilen //Wjahr $ht2= round(mt_rand(11,$hraster-11-strlen($wjahr[1])),0); $vt2=21; //schriftfarbe bestimmen $maxf2=0; $minf2=255; for ($ff2=$vt2;$ff2<=$vt2+10;$ff2++) { $maxf2=max($maxf2,$fzeil[$ff2]); $minf2=min($minf2,$fzeil[$ff2]); } $maxf2=$maxf2+$farbschritt; $minf2=$minf2-$farbschritt; $ffl2= ($maxf2+$minf2)/2; if ($ffl2>$mittelfarb) { $farbt2=$ffl2-$tfarbdiff; } else { $farbt2=$ffl2+$tfarbdiff; } // ende schriftfarbe bestimmen for ($t2n=0;$t2n<=10;$t2n++) { for ($t2m=0;$t2m<=strlen($wjahr[$t2n]);$t2m++) { if (substr($wjahr[$t2n],$t2m,1) == 1) { $akthpos=$ht2+$t2m; $aktvpos=$vt2+$t2n; $punkte[$akthpos][$aktvpos]=$farbt2 + round(mt_rand(-$farbschritt,$farbschritt),0); } } //ende for Textstring } //ende for Textzeilen //Gutes $ht3=7; $vt3=$vraster-15-16; //schriftfarbe bestimmen $maxf3=0; $minf3=255; for ($ff3=$vt3;$ff3<=$vt3+12;$ff3++) { $maxf3=max($maxf3,$fzeil[$ff3]); $minf3=min($minf3,$fzeil[$ff3]); } $maxf3=$maxf3+$farbschritt; $minf3=$minf3-$farbschritt; $ffl3= ($maxf3+$minf3)/2; if ($ffl3>$mittelfarb) { $farbt3=$ffl3-$tfarbdiff; } else { $farbt3=$ffl3+$tfarbdiff; } // ende schriftfarbe bestimmen for ($t3n=0;$t3n<=12;$t3n++) { for ($t3m=0;$t3m<=strlen($gutes[$t3n]);$t3m++) { if (substr($gutes[$t3n],$t3m,1) == 1) { $akthpos=$ht3+$t3m; $aktvpos=$vt3+$t3n; $punkte[$akthpos][$aktvpos]=$farbt3 + round(mt_rand(-$farbschritt,$farbschritt),0); } } //ende for Textstring } //ende for Textzeilen //njahr $ht4=round(mt_rand(11,$hraster-8-strlen($njahr[1])),0); $vt4=$vraster-15; //schriftfarbe bestimmen $maxf4=0; $minf4=255; for ($ff4=$vt4;$ff4<=$vt4+10;$ff4++) { $maxf4=max($maxf4,$fzeil[$ff4]); $minf4=min($minf4,$fzeil[$ff4]); } $maxf4=$maxf4+$farbschritt; $minf4=$minf4-$farbschritt; $ffl4= ($maxf4+$minf4)/2; if ($ffl4>$mittelfarb) { $farbt4=$ffl4-$tfarbdiff; } else { $farbt4=$ffl4+$tfarbdiff; } // ende schriftfarbe bestimmen for ($t4n=0;$t4n<=10;$t4n++) { for ($t4m=0;$t4m<=strlen($njahr[$t4n]);$t4m++) { if (substr($njahr[$t4n],$t4m,1) == 1) { $akthpos=$ht4+$t4m; $aktvpos=$vt4+$t4n; $punkte[$akthpos][$aktvpos]=$farbt4 + round(mt_rand(-$farbschritt,$farbschritt),0); } } //ende for Textstring } //ende for Textzeilen //echo ""; for ($nn=1;$nn<=$vraster;$nn++) { //echo ""; for ($mm=1;$mm<=$hraster;$mm++) { //echo ""; } //echo ""; } //echo "
".$punkte[$mm][$nn]."
"; // ab hier grafik //A4-Format $bildh = 1140; $bildv = 770; $image = imagecreatetruecolor($bildh, $bildv); $fuellfarbe = imageColorAllocate($image, 0, 0, 0); imagefilledrectangle($image, 0, 0, $bildh, $bildv, $fuellfarbe); $bchenh=15; $bchenv=15; $fakth= $bildh/($bchenh*$hraster); $faktv= $bildv/($bchenv*$vraster); $bchh1 = ceil($bchenh*$fakth); $bchv1 = ceil($bchenv*$faktv); //echo "fakth faktv: ".$fakth." ".$faktv."
"; //echo "bchh1 bchv1: ".$bchh1." ".$bchv1."
"; for ($mm=1;$mm<=$hraster;$mm++) { for ($nn=1;$nn<=$vraster;$nn++) { if ($punkte[$mm][$nn] != -1) { if ($punkte[$mm][$nn] == 0) $punkte[$mm][$nn] =1; $xpos = round(($mm-1) * $bchenh * $fakth); $ypos = round(($nn-1) * $bchenv * $faktv); //echo $xpos."/".$ypos.": "."bild/".$werte[$punktwert][4]."
"; $aktuellefarbe = $punkte[$mm][$nn]; if ($aktuellefarbe < 100 ) $aktuellefarbe = "0".$aktuellefarbe; if ($werte[$aktuellefarbe][5][1] >= 1) { // mindestens 1 farbe $aktuellenummer = round(mt_rand(1,$werte[$aktuellefarbe][5][1]),0); $bildnam = "farb10/".$werte[$aktuellefarbe][4][$aktuellenummer]; } else { //falls kein farbpunkt if ($werte[$aktuellefarbe+1][5][1] >= 1) { // mindestens 1 farbe eins weiter $aktuellefarbe = $aktuellefarbe+1; $aktuellenummer = round(mt_rand(1,$werte[$aktuellefarbe][5][1]),0); $bildnam = "farb10/".$werte[$aktuellefarbe][4][$aktuellenummer]; } } $imageo = imagecreatefromjpeg($bildnam); $bildnam=""; imagecopyresized ($image, $imageo, $xpos, $ypos, 0, 0, $bchh1, $bchv1, $bchenh, $bchenv); } //if für -1 } //for nn } //for mm //Ausgabe des Bildes im Browser imagejpeg($image); imagedestroy($image); ?>