Problem mit GD Library

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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
    Zitat von tEStahr Beitrag anzeigen
    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.

    Kommentar


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

      Kommentar

      Lädt...
      X