Problem mit GD Library

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem mit GD Library

    Hallo,
    ich habe spaßeshalber versucht, ein zufälliges Bild zu erzeugen:
    PHP Code:
    <html>
    <head>
    <title>Test</title>
    </head>
    <body style="background-color:#e3e3e3;">
    <table>
    <?php
    $image 
    imagecreate(100100);

    for (
    $y 0$y 96$y+=5) {
        echo 
    '<tr>';
        
        for (
    $x 0$x 96$x+=5) {
            
    $bw mt_rand(0,1);
            if (
    $bw == 1)
                
    $bw 255;
            
    $color imagecolorallocate($image,$bw,$bw,$bw);
            
    imagefilledrectangle($image,$x,$y,$x+4,$y+4,$color);
            echo 
    '<td>'$bw '</td>';    
        }
        echo 
    '</tr>';
    }
    echo 
    '</table>';

    $filename "test.png";
    ImagePNG($image,$filename);
    ImageDestroy($image);

    echo 
    '<img src="'.$filename.'">';
    ?>

    </body>
    </html>
    Dies soll also ein 100x100 Pixel großes png sein, das in jeweils 5x5 Pixel große Quadrate mit zufälliger Farbe (schwarz oder weiss) unterteilt ist.
    Die Tabelle habe ich nur eingefügt, um sicher zu sein, welchen Farbwert die einzelnen Quadrate haben sollten.

    Leider wird die Grafik ab einer gewissen Größe aber nicht vollständig gefüllt; die unteren 6 oder 7 Zeilen bleiben einfach einfarbig weiss oder schwarz. Mache ich das Bild breiter, bleiben entsprechend mehr Zeilen einfarbig. Laut dem Output in der Tabelle sind es aber korrekt zufällige Farbwerte.



    Gibt es da irgendeiner Beschränkung, wie oft ich imagefilledrectangle() aufrufen kann? Oder was mache ich falsch?
    Für jegliche Hilfe wäre ich sehr dankbar..

  • #2
    Originally posted by tEStahr View Post
    Dies soll also ein 100x100 Pixel großes png sein, das in jeweils 5x5 Pixel große Quadrate mit zufälliger Farbe (schwarz oder weiss) unterteilt ist.
    Das sind also im gezeigten Bild ca. 20 pro Zeile mal 13 Zeilen, also knapp 260.

    Gibt es da irgendeiner Beschränkung, wie oft ich imagefilledrectangle() aufrufen kann?
    Nein - aber wie viele Farben eine Palette aufnehmen kann.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Comment


    • #3
      Aah, danke für den Denkanstoß.
      Ich hatte das mit dem imagecolorallocate() wohl falsch verstanden.
      Hab es jetzt umgeschrieben und es funktioniert.

      Comment

      Working...
      X