Ankündigung

Einklappen
Keine Ankündigung bisher.

Bilder aus Kartendienst überlagern

Einklappen

Neue Werbung 2019

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

  • Bilder aus Kartendienst überlagern

    Hi,

    ich greife Bilder aus 2 verschiedenen Kartendiensten ab:

    1. Bild:
    http://geo4.service24.rlp.de/wms/dop...vnd.ogc.se_xml

    2. Bild
    http://www.gdi-rp-dienste2.rlp.de/cg...vnd.ogc.se_xml

    Diese Adresse übergebe ich in Variablen (da hier noch diverse Werte im Link angepasst werden) und lasse sie mir wieder anzeigen, ala:
    $link = "http://geo4.service24.rlp.de/wms/dop_basis.fcgi?....
    $link2 ="http://www.gdi-rp-dienste2.rlp.de/cgi-bin/mapserv?ma....
    und dann die Ausgabe per: echo "<img src=\"$link\">"; ...

    >> Das klappt auch alles

    Problem: wenn ich diese per imagecopy überlagere wird immer immer nur ein Buchstaben/Zahlensalat ausgegeben, so als ob ich das Bild per texteditor öffne....

    Überlagern:
    $image = ImageCreateFromString(file_get_contents($link));
    $image2 = ImageCreateFromString(file_get_contents($link2));
    #überlagern
    imagecopy($image, $image2, 0, 0, 0, 0, 600, 600);
    header('Content-Type: image/png');
    echo imagepng($image);

    Buchstabensalat:
    ‰PNG  IHDRXXþ¿XxÉPLTEÿÿÿþþþÿÇÇÿëëÿÏÏÿ××ÿ··ÿŸŸÿ‡‡ ÿhhÿPPÿ@@ÿ ÿÿÿDDÿËËÿûûÿßßÿÃÃÿ§§ÿttÿ``ÿHHÿ$$ÿ ÿããÿóóÿ——ÿ00ÿÿÿ,,ÿ\\ÿ||ÿ““ÿ££ÿÿ÷÷ÿ<<ÿÿ88ÿX Xÿppÿÿ¿¿ÿ««ÿÿllÿ»»ÿ

    Woran liegt das?
    Was kann ich tun??

    Danke!
    botzer


  • #2
    Gibst du auch den richtigen Header mit?

    PHP-Code:
    header('content-type:image/png'); 
    You know, my wife sometimes looks at me strangely. „Duncan“, she says, „there's more to life than Solaris“. Frankly, it's like she speaks another language. I mean, the words make sense individually, but put them together and it's complete nonsense.

    Kommentar


    • #3
      Das Problem liegt bei

      PHP-Code:
      echo imagepng(...); 
      Kein echo

      Kommentar


      • #4
        Danke,

        aber leider bringt das nix:

        - den header hab ich drin. Steht direkt vor imagepng($image)
        Ist das ok so?

        - wenn ich aus echo imagepng($image); >> imagepng($image); Ändert sich absolut gar nichts

        hmmm...
        botzer

        Kommentar


        • #5
          1. Wenn Buchstabensalat kommt, kommt nicht der richtige Header zur Wirkung. Entweder ist dieser nicht richtig gesetzt oder wird nicht akzeptiert, weil bereits zuvor irgendeine Ausgabe getätigt wurde.
          Suchbegriff: Headers already sent

          2. imagecopy kopiert das Bild oder Teile davon, du brauchst imagecopymerge. Ob imagecopymerge das von dir gewünschte Ergebnis erzeugt kann ich nicht beurteilen.

          3. Zum Testen bis zum fertigen Bild kannst du auch wie folgt vorgehen:
          - Kommentiere die Zeilen
          PHP-Code:
          header('Content-Type: image/png'); 
          und
          PHP-Code:
          imagepng($image); 
          vorübergehend aus und setze an die Stelle der letzten Zeile dies:
          PHP-Code:
          imagepng($image,'testbild.png');
          echo 
          '<img src="testbild.png"></img>'
          Dadurch werden sowohl Fehlermitteilungen sichtbar als auch dein Bild.
          Möglicherweise ist noch ein
          PHP-Code:
          ini_set('display_errors''On');
          error_reporting(-1);    //max. aufgedreht 
          am Scriptanfang einzufügen.

          Wenn dein Script fehlerfrei läuft, kannst du es dann auch ohne den Umweg über die Datei testbild.png ausgeben.

          LG jspit
          PHP-Klassen auf github

          Kommentar


          • #6
            SUUPER!

            imagecopymerge($image, $image2, 0, 0, 0, 0, 600, 600, 50);

            imagepng($image,'testbild.png');
            echo
            '<img src="testbild.png"></img>';


            FUNTIONIERT !

            Einen Header brauch ich gar nicht !?

            DANKE

            Kommentar


            • #7
              Je nach Anwendung kann eine solche temporäre Bilddatei aber auch zu Problemen führen.
              PHP-Klassen auf github

              Kommentar

              Lädt...
              X