Einzelnen Beitrag anzeigen
  #1  
Alt 29.01.2006, 23:02:47
feuervogel feuervogel ist offline
SELFPHP Guru
 
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
seltsames verhalten

hallo!

ich weiß nicht genau, ob das hier ein bug im php ist oder ob ich einen fehler im script habe:

PHP-Code:
<?php 
#groesse eines quadrates
$size         50;
#groesse des bildes
$bigsize     400;
#abstand der quadrate zum rand
$margin     2;
#farben
$cols    = array( 'FFFF00' 'ff8000' '80ff00' 'ff0000' '00ff00' 'FF0080' '00ff80' 'ff00ff' '00ffff' '8000ff' '0080ff''0000ff'  );

header("Content-type: image/png");
#bild erstellen
$im     imagecreate$bigsize $bigsize );
#hintergrund weiß färben
$bg     imagecolorallocate($im0xFF0xFF0xFF );
imagefill$im00$bg );

#nun quadrate zeichnen, erst die zeilen dann die spalten
for( $i 0$i $bigsize $size $i++ ) {

    for( 
$j 0$j $bigsize $size $j++ ) {

#zufälligen schlüssel bestimmen
        
$k    rand, ( count$cols ) - ) );
#farbe aussuchen
        
$fill    imagecolorallocate($imhexdecsubstr$cols$k ] , ) ) , hexdecsubstr$cols$k ] , ) ) , hexdecsubstr$cols$k ] , ) ) );
#quadrat malen
        
imagefilledrectangle$im , ( $i $size ) + $margin , ( $j $size ) + $margin , ( ( $i ) * $size ) - $margin , ( ( $j ) * $size ) - $margin $fill );

    }

}
#ausgabe und cache leeren
imagepng($im);
imagedestroy($im);

?>
dies funktioniert im prinzip wunderbar, wähle ich $size sehr klein oder $bigsize sehr groß, so werden die hinteren spalten alle in der gleichen farbe eingefärbt. wieso ist das so?

ich habe das ganze ohne srand gemacht, da ich php5 benutze und es dort nicht nötig ist. exakte version: 5.0.5-2

Geändert von feuervogel (29.01.2006 um 23:03:45 Uhr)
Mit Zitat antworten