Ankündigung

Einklappen
Keine Ankündigung bisher.

Bild erstellen -> nur blau?!

Einklappen

Neue Werbung 2019

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

  • Bild erstellen -> nur blau?!

    Hallo,

    ich habe hier folgenden Code:
    PHP-Code:
    <?php
    header
    ("Content-Type: image/jpeg");
    $img imagecreate(256256);
    for(
    $Red=0$Red 256$Red++)
    {
        for(
    $Green=0$Green 256$Green++)
        {
            
    imagesetpixel($img$Red$Greenimagecolorallocate($img$Red$Green178));
        }
    }
    imagejpeg($img);
    ?>
    Der Code soll eigentlich ein ziemlich buntes Bild erstellen, doch das Bild ist einfarbig blau. Ich glaube, heute stehe ich auf dem Schlauch, ich habe schon mindestens eine Stunde versucht, dieses Problem zu lösen. Entschuldigt die Frage, aber eigentlich müsste der Code der Logik nach doch funktionieren, oder?

    Viele Grüße
    CyberBoy

  • #2
    Ich weiß net warum, aber lass dir mal den return-Wert von imagecolorallocate() ausgeben, dann siehst du, dass er nach 256 Durchläufen false liefert. Warum kannst du vielleicht selbst rausfinden
    "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

    Kommentar


    • #3
      $Red und $Green dürfen maximal den Wert 255 annehmen, bei dir nehmen sie aber in der letzten Zeile den Wert 256 an.
      Außerdem versuchst du mehr als 255 (nämlich 255^2) verschiedene Farbwerte zu nutzen, was nur mit true color geht.
      [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

      Kommentar


      • #4
        PHP-Code:
        <?php
        header
        ("Content-Type: image/jpeg");
        $img imagecreatetruecolor(255255);
        imagecolorallocate($img,0,0,0);
        for(
        $i=0;$i<255;$i++) {
        for(
        $z=0;$z<255;$z++) {
        $farbe imagecolorallocate($img,$i,$z,$i);
        imagesetpixel($img,$i,$z,$farbe);
        }
        }
        imagejpeg($img);
        ?>
        Jup^^ so gibt es ein schickes buntes Bildchen
        "Dummheit redet viel..Klugheit denkt und schweigt.." [Amgervinus]

        Kommentar


        • #5
          Zitat von Frank Beitrag anzeigen
          $Red und $Green dürfen maximal den Wert 255 annehmen, bei dir nehmen sie aber in der letzten Zeile den Wert 256 an.
          Warum? Die Schleife geht doch von 0 bis inklusive 255, oder übersehe ich da was?
          "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

          Kommentar


          • #6
            Wo du recht hast hast du recht. Aber der andere Fehler bleibt
            [IMG]http://media.ubuntuusers.de/portal/files/ubuntu.png[/IMG][IMG]http://sqlmanager.net/i/ico/mysql.gif[/IMG][SIGPIC][/SIGPIC]

            Kommentar


            • #7
              Ah, danke vielmals. War ein dummer Fehler. Ich wusste nicht, dass ich dann imagecreatetruecolor verwenden muss. So sieht das Ganze dann am Ende aus:
              PHP-Code:
              <?php
              header
              ("Content-Type: image/jpeg");
              $img imagecreatetruecolor(255255);
              for(
              $Red=0$Red 256$Red++)
              {
                  for(
              $Green=0$Green 256$Green++)
                  {
                      
              imagesetpixel($img$Red$Greenimagecolorallocate($img$Red$Green178));
                  }
              }
              imagejpeg($img);
              ?>
              Und nochmal Danke für eure Hilfe!

              MfG
              CyberBoy

              Kommentar

              Lädt...
              X