Arbeiten mit der GD-Libery

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

  • Arbeiten mit der GD-Libery

    Hallo

    ich versuche nun schon den ganzen Nachmittag ein Bild mit Hilfe der GD-Libery von PHP zu bearbeiten bzw. auszugeben.

    Nun ja, vom bearbeiten bin ich auch noch weit entfernt, schaffe ich es doch noch nicht mal ein Bild 1:1 auszugeben. Mittlerweile konnte ich einige Error's wegarbeiten, aber an zweien hab ich mich festgebissen:

    PHP-Code:
    WarningCannot modify header information headers already sent by 
    (output started at d:/hostpoint/public_html/sticherholzbau/mygallerie/index.php:9in 
    d
    :/hostpoint/public_html/sticherholzbau/mygallerie/index.php on line 27

    Warning
    imagejpeg(): supplied argument is not a valid Image resource in 
    d
    :/hostpoint/public_html/sticherholzbau/mygallerie/index.php on line 29 
    Das ist der Code, mit dem ich die beiden Fehler zustande bekomme. Wobei ich der Meinung bin, dass der zweite Fehler das Resultat des ersten ist.
    PHP-Code:
     header("Content-type: image/jpeg");
    $image imagecreatefromjpeg("DSC00044.jpg");
    imagejpeg("DSC00044.jpg");
    imagedestroy($image); 
    Kann mir jemand sagen, wo ich den Bock drin habe? Meiner Meinung und den Erläuterungen in einem schlaune Buch nach, müsste so doch das Bild 1:1 ausgegeben werden. Tut's aber nicht Naja, vielleicht bin ich ja auch einfach nur zu blöd und sehe den Wald vor lauter Bäumen nicht....
    Den Code habe ich ganz normal in den Body eines HTML-Scripts gepackt.

    Danke schon mal im voraus...


    Gruss
    Philipp

  • #2
    1.fehler : header wurde schon gesandt ...

    2.fehler : kuck dir mal die parameter an,
    welche der funktion gegeben werden sollen ...


    such mal nach tutorials, da wird alles notewendige erklaert :
    http://www.phpwelt.de/tutorials/tuto...=57&PHPSESSID=

    http://www.yubb.de/artikel431.html

    etc....

    und wenn du nur auf linux arbeitest, schau ob dein space imagemagik unterstützt ...
    das ist m.E. nach besser

    gruss
    iglo

    Kommentar


    • #3
      1. enthältst du uns die zeilen 1-27 vor, wo garantiert was ausgeben wird
      2. gehört bildverarbeitender code in eine extra-datei => aufruf zB: <img src="bild.php" ...>
      3. erwartet imagejpeg() 3 parameter
      Kissolino.com

      Kommentar


      • #4
        Original geschrieben von Wurzel
        3. erwartet imagejpeg() 3 parameter
        Wovon 2 optional sind -> filename, quality....
        Und Pflicht ist die IMG Resource

        PHP-Code:
        $image imagecreatefromjpeg("DSC00044.jpg");
        imagejpeg("DSC00044.jpg"); 
        Und dort ist nicht wie es sein soll $image drinnen.... sondern ein String
        [color=blue]MfG Payne_of_Death[/color]

        [color=red]Manual(s):[/color] <-| PHP | MySQL | SELFHTML |->
        [color=red]Merke:[/color]
        [color=blue]Du brauchst das Rad nicht neu erfinden ! [/color]<-ForumSuche rettet Leben-> || <-Schau in den Codeschnippsels->

        Murphy`s Importanst LAWS
        Jede Lösung bringt nur neue Probleme
        Das Fluchen ist die einzige Sprache, die jeder Programmierer beherrscht.
        In jedem kleinen Problem steckt ein großes, das gern raus moechte.

        Kommentar


        • #5
          Danke erstmal für die schnellen antworten.

          Ok.. das mit dem String anstelle der Variable ist ein peinlicher Fehler. Hab den nun aber korrigiert, nur die Ausgabe die ich jetzt erhalte kopiere ich hier nun lieber nicht rein... Ich würde sagen, es ist das Bild in wunderschönem Binär-Code....

          Aber hier nun mein ganzes Script:
          PHP-Code:
          <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
          <HTML>
          <HEAD>
          <TITLE> New Document </TITLE>
          <META NAME="Generator" CONTENT="EditPlus">
          <META NAME="Author" CONTENT="">
          <META NAME="Keywords" CONTENT="">
          <META NAME="Description" CONTENT="">
          </HEAD>

          <BODY>
          <?php 
              
          /*$obj = dir("images/gallerie1");
              echo "Inhalt vom Verzeichnis: <b>";
              echo $obj ->path . "<br></b>";

              for($c=0; $var=$obj -> read(); $c++)
              {
                  
                  echo "<a href='images/gallerie1/". $var ."' target='_blank'>".$var."</a><br>";
                  // echo $c."<br>";
                  
              }
              $obj -> close(); */
              
              
          header("Content-type: image/jpeg");
              
          $image imagecreatefromjpeg("DSC00044.jpg");
              
          imagejpeg($image);
              
          imagedestroy($image);
              echo 
          $image;
          ?>
          </BODY>
          </HTML>
          Im Grunde steht das Script ja für sich alleine. Das HTML-Geraffel hab ich auch schon mal weggelassen... erfolglos...

          @kapitaeniglo
          1.fehler : header wurde schon gesandt ...
          Das hab ich schon erkannt, aber wie kann ich das korrigieren? Hab da echt keinen Plan...

          Kommentar


          • #6
            rtfm!
            Beachten Sie, dass header() aufgerufen werden muss, bevor eine Ausgabe gesendet wurde, egal ob normale HTML Tags, leere Zeilen in einer Datei oder von PHP.
            © php.net

            was ist noch unklar?

            OffTopic:
            und was ist 'libery'?
            Zuletzt geändert von penizillin; 31.01.2005, 17:57.

            Kommentar


            • #7
              OffTopic:
              und was ist 'libery'?
              OffTopic:
              sollte liberty heißen
              Die Zeit hat ihre Kinder längst gefressen

              Kommentar


              • #8
                @philippCH: Grundlegender Denkfehler. Bilder sind Binärdateien und haben *nichts* mit HTML zu tun. Hau das ganze HTML-Zeug rund um den Bildcode weg, und schon funktionierts. Das dann erzeugte Bild bindest du dann in einer *völlig getrennten* HTML-Datei mittels <img src=... ein.

                Kommentar


                • #9
                  Hab's geschafft...

                  Hab jetzt eine Datei index.php
                  PHP-Code:
                  <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
                  <HTML>
                  <HEAD>
                  <TITLE> New Document </TITLE>
                  <META NAME="Generator" CONTENT="EditPlus">
                  <META NAME="Author" CONTENT="">
                  <META NAME="Keywords" CONTENT="">
                  <META NAME="Description" CONTENT="">
                  </HEAD>

                  <BODY>
                  <?php include("bild.php"); ?>
                  </BODY>
                  </HTML>
                  und bild.php
                  PHP-Code:
                  <?    header("Content-type: image/jpeg"); 
                      $image = imagecreatefromjpeg("DSC00044.jpg");
                      imagejpeg($image);
                      imagedestroy($image);
                  ?>
                  und so hat's auch bei mir geklappt....

                  THX

                  Kommentar


                  • #10
                    Und das soll funktionieren?
                    Machst du Witze?


                    Ich zitiere mich:
                    @philippCH: Grundlegender Denkfehler. Bilder sind Binärdateien und haben *nichts* mit HTML zu tun. Hau das ganze HTML-Zeug rund um den Bildcode weg, und schon funktionierts. Das dann erzeugte Bild bindest du dann in einer *völlig getrennten* HTML-Datei mittels <img src=... ein.

                    Kommentar


                    • #11
                      Wär mal was ganz neues, wenn man mit include Bilder einbauen kann. Wenn das wirklich funktionieren sollte muss ich glaube ich nochmal nachschauen, ob Bilder nicht vielleicht doch Text sind
                      @philippCH Irgendwie darf das gar nicht funktionieren, was du da machst.
                      Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

                      Kommentar


                      • #12
                        Original geschrieben von telmich
                        Wär mal was ganz neues, wenn man mit include Bilder einbauen kann.
                        OffTopic:
                        nein, was ziemlich altes: http://aktuell.de.selfhtml.org/artik...ages/index.htm
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          stimmt, einzige bremse:
                          Das funktioniert bei Netscape 4.x, aber leider nicht beim MS Internet Explorer 4.x - 5.x.
                          bedeutet es denn dann soviel, wie, dass unser schweizer kamerad ns 4.x benutzt?

                          Kommentar


                          • #14
                            Original geschrieben von penizillin
                            bedeutet es denn dann soviel, wie, dass unser schweizer kamerad ns 4.x benutzt?
                            nein, auch das glaube ich nicht, denn eine base-64-kodierung sehe ich ihn auch nicht vornehmen :-)


                            btw: aktuelle geckos können solche inline images m.W. auch darstellen.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              Das funktioniert bei Netscape 4.x, aber leider nicht beim MS Internet Explorer 4.x - 5.x.
                              und das ist auch das größte Problem, denn es gibt deutlich über 50 % IE Nutzer (zumindest auf meiner Seite). Also heißt das für mich es geht nicht.
                              Wer einen Weisen dumm fragt, wird eine kluge Antwort bekommen. Es ist nur die Frage, ob er sie auch versteht.

                              Kommentar

                              Lädt...
                              X