Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Problem mit Grafik

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Problem mit Grafik

    Hallo,

    ich hab da mal ein großes Problem:

    Es geht um die Grafikfunktion in php.
    Ich erstelle mit php (gd) ein Bild. Hier der Quelltext:

    PHP-Code:
    <?php
     $image 
    = @ImageCreate (100200)
         or die (
    "Kann kein neues Bild erzeugen");
    $Hintergrundfarbe ImageColorAllocate ($image255255255);
    $Textfarbe ImageColorAllocate ($image2331491);
    ImageString ($image105050"Text"$Textfarbe);
    ImagePNG ($image);
    ?>
    Wenn ich mir das ganze jetzt anschauen will, kommt nur komischer Text
    aber nicht das Bild!

    Wenn ich vorher noch einfüge:

    PHP-Code:
    header("Content-type: image/png"); 
    und mir das ganze anschauen will, kommt folgende Meldung:

    Die Grafik "..." kann nicht angezeigt werden, weil Sie Fehler enthält!

    Mit gd_info() erhalte ich das:


    Code:
    array(12) {
    ["GD Version"]=>   string(27) "bundled (2.0.34 compatible)"
    ["FreeType Support"]=>   bool(true)
    ["FreeType Linkage"]=>   string(13) "with freetype"
    ["T1Lib Support"]=>   bool(true)
    ["GIF Read Support"]=>   bool(true)
    ["GIF Create Support"]=>   bool(true)
    ["JPG Support"]=>   bool(true)
    ["PNG Support"]=>   bool(true)
    ["WBMP Support"]=>   bool(true)
    ["XPM Support"]=>   bool(false)
    ["XBM Support"]=>   bool(true)
    ["JIS-mapped Japanese Font Support"]=>   bool(false)
    }
    Woran könnte das denn liegen. Hab schon überall gesucht, aber kann
    leider keine Lösung finden.

    Mfg


  • #2
    Hallo!

    Als erstes mache mal bitte das @ vor ImageCreate weg!

    Für den Imagestring nimm mal dieses hier imagettftext!

    Nimm mal anstatt ImageCreate das hier, imagecreatefrompng!

    Das sind die einzigen Sachen die mir auffallen!

    mfg der Litter
    Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
    http://www.lit-web.de

    Kommentar


    • #3
      Erst mal danke für die schnelle Antwort.

      Leider waren die Änderungen ohne Erfolg.

      Mit imagecreatefrompng muß ich doch ein vorhandenes Bild auswählen
      ich will doch aber ein neues Bild erstellen!

      Kann das vielleicht an der Codierung des Browsers liegen?
      Mfg

      Kommentar


      • #4
        Vor dem "komischen Text" hat es keine PHP - Fehlermeldung?
        Finde sonst auch nix, was falsch sein könnte

        Kommentar


        • #5
          Speicher das Bild mal ab und schau nach im Verzeichnis ob es korrekt dargestellt wird.

          Kommentar


          • #6
            Hallo,
            mach das error_reporting auf E_ALL | E_STRICT und entferne alle @ Operatoren. Dann entfernst du auch noch die header() Anweisung, dann siehst du naemlich alle Fehlermeldugen. Wenn alles rund laeuft, wirst du den Binaercode des Bilders sehen (der als Standard text/html bzw. text/plain interpretiert wird). Deshalb musst du den header() wieder korrekt senden.

            Wenn du kein Bild siehst, wird das vermutlich liegen, dass eine PHP-Fehlermeldung (also Text) als Binaercode des Bildes interpretiert wird, das laeuft natuerlich schief.
            "Mein Name ist Lohse, ich kaufe hier ein."

            Kommentar


            • #7
              Also E_ALL | E_STRICT hab ich bereits gesetzt.
              Keine Fehlermeldung.

              Das erscheint im Browser:

              ‰PNG  ��� IHDR���È���d���ùHíH���PLTEÿÿÿé[‘˝£���LIDATxœc`£`Œ‚Q@S`�— c©2ì=æ°ËðKÄ¡G"ù ù‡¸ô0ãÒӖ8‡ÛÎ|À*3 FÁ(’�� ¨öá����IEND®B`‚


              Ich hab jetzt noch mal den header eingefügt und auf einmal klappts.
              Ich hab meinen alten Quelltext wieder hergestellt und hokus pokus
              macht ers.

              Keine Ahnung warum.

              Vielen Dank für die Hilfe

              Mfg

              Kommentar


              • #8
                Weil du natürlich auch noch den Header dafür senden musst, damit dies auch korrekt angezeigt werden kann!
                PHP-Code:
                header'Content-type: image/png' ); 
                So sollte es dann angezeigt werden.

                [edit]
                Ich habe es nicht gesehen gehabt, dass du bereits den Header angehängt hast...

                Und markiere dieses Thema mal als erledigt... Danke
                [/edit]
                Mfg Tomtaz
                "Es soll jetzt diese Erfindung geben.... Kugel oder so heißt die. Ist so eine Art Suchmaschine..."

                Kommentar

                Lädt...
                X