Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Mit php gd erzeugte Grafik direkt in html einbinden

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Mit php gd erzeugte Grafik direkt in html einbinden

    Hallo,
    ich meine, hier schonmal eine Lösung auf mein Problem durch zufall gefunden zu haben, aber irgendwie bringt mich die suchfunktion nicht mehr dort hin

    Also mein Problem ist folgendes:

    Ich generiere mir in php mit gd eine Grafik und binde diese momentan auf dem üblichen Wege ein: <img src="grafik.php">

    Nun möchte ich aber sowohl die html Ausgabe, als auch die Grafikgenerierung in ein und der selben php Datei erzeugen, da ich die bei der Grafikgenerierung berechnete Werte noch für eine Map unter der Grafik brauche.

    Irgendwo habe ich mal gelesen, das es auf die Art geht: echo '<img src="'.HEADER Ausgeben.imagepng($img);.'">

    Kann mir evtl. jemand genau sagen, wie ich das schreiben muss?

    Danke.

  • #2
    HTML unterstützt kein eingebettetes Binärformat. Du kannst in deinen beiden PHP-Dateien aber Sessions starten. So können sie beide auf den $_SESSION Array zugreifen. Bitte dazu im Handbuch oder diversen Tutorials schlau machen.
    "[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
      Danke, aber wie gesagt, hatte ich schon mal irgendwo gesehen, wie es geht.
      Wenn es aber wirklich nicht geht, dann muss ich es wohl oder übel über eine Session machen. Werde dann mal testen, wie ich das in mein bestehendes System einbauen kann.

      Evtl. hat ja noch jemand das von mir gesuchte Konstrukt schon mal irgendwo gesehen und noch im Kopf.

      Kommentar


      • #4
        Es geht definitiv nicht in HTML. In CSS (?) kannst du evtl. base64-kodierte Grafiken einbinden, aber das ist nicht zu empfehlen.
        "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

        Kommentar


        • #5
          Zitat von Chriz Beitrag anzeigen
          HTML unterstützt kein eingebettetes Binärformat.
          Ich widerspreche dir. Man kann ein Bild in Form einer data-URI speichern.

          Kommentar


          • #6
            und wie geht das?

            Kommentar


            • #7
              data URI scheme - Wikipedia, the free encyclopedia
              Ach dann war das doch HTML. Nun gut ich nehme alles zurück.
              "[URL="http://www.youtube.com/watch?v=yMAa_t9k2VA&feature=youtu.be&t=25s"]Mein Name ist Lohse, ich kaufe hier ein.[/URL]"

              Kommentar


              • #8
                In einem ersten Versuch scheint es zu funktionieren.

                Die Ausgabe über
                Code:
                echo '<img src="data:image/png;base64,'.imagepng($bild).'">';
                erzeugt das selbe Resultat wie
                Code:
                imagepng($bild);
                Ich danke für die Info, das scheint genau das gesuchte zu sein

                @edit: War nur Zufall, das es funktionierte, da ich den header für png in der Datei drin gelassen habe.

                Richtig geht es so:
                Code:
                # Bild in Speicher schreiben
                ob_start();
                ImagePNG($bild);
                # Speicher leeren:
                imagedestroy ($bild);
                $im=ob_get_contents(); 
                # Speicher leeren:
                ob_clean();
                # Bild base64-kodieren:
                $im1=base64_encode ($im);
                $out='<img src="data:image/png;base64,'.$im1.'">';
                Gefunden habe ich es hier:
                Erstes Bild mit Pixelgraphik und PHP - Dr. Olaf Hoffmann

                Kommentar

                Lädt...
                X