imageresize

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

  • #16
    Hi zusammen,

    bei Euch hat sich schon am Threadanfang ein kleiner Fehler eingeschlichen. Das ganze muss folgendermassen aussehen:

    <?php
    // Thumbnailgenerator
    $imgpath = "images/image.jpg";
    $log = "";
    $src = imagecreatefromjpeg($imgpath);
    $src_b = imagesx($src);
    $src_h = imagesy($src);
    if (!isset($neue_b)) { $neue_b = 50; }
    if (!isset($neue_h)) { $neue_h = 50; }
    $dst = imagecreate($neue_b, $neue_h);
    imagecopyresized($dst, $src, 0, 0, 0, 0, $neue_b, $neue_h, $src_b, $src_h);
    imagejpeg($dst,"images/thumb_image.jpg");
    ?>

    Die Funktion imagejpeg() erzeugt das Bild. Als drittes Argument der Funktion kann übrigens noch eine Zahl von 0-100 angegeben werden welche den Komprimierungsgrad für das Bild angibt.

    Gruß Jan

    Kommentar


    • #17
      hab das auch mal ausprobiert bei mir kommt die fehlermeldung

      Fatal error: Call to undefined function: imagecreatefromjpeg() in C:\blablabla\imageVerkleinern.php on line 5

      hmm weiss auch nicht was das für ne funktion sein soll hehe
      für wallpaper: blumenbeet.com

      Kommentar


      • #18
        hmmm..also irgendwie versteh ich das jetzt alles nicht mehr!


        der befehl mit den strislashes oder gibt nur nen error raus! und das andere mit dem image hilft auch nicht!

        wenn das script etwas macht, dann nur eine 14 byte große datei schreiben!

        kopiert euch doch mal das script und versucht es selbst! habt ihr dann nicht die gleichen probleme ?????


        die lösung kann doch nicht sonderlich schwer sein....schließlich kriegen es anderen auf ihren websites auch hin!?

        Kommentar


        • #19
          hehe...

          <?php
          // Thumbnailgenerator
          $imgpath = "images/image.jpg";
          $log = "";
          $src = imagecreatefromjpeg($imgpath);
          $src_b = imagesx($src);
          $src_h = imagesy($src);
          if (!isset($neue_b)) { $neue_b = 50; }
          if (!isset($neue_h)) { $neue_h = 50; }
          $dst = imagecreate($neue_b, $neue_h);
          imagecopyresized($dst, $src, 0, 0, 0, 0, $neue_b, $neue_h, $src_b, $src_h);
          imagejpeg($dst,"images/thumb_image.jpg");
          ?>


          funzt!!!! :-))) allerdings nur wenn ich anstatt thumb_image.jpg -> image.jpg nehme!!!!

          Kommentar


          • #20
            wenn es jetzt noch gehen würde, das ich das bild image.jpg als thumb_image.jpg speicher und dann mit dem script verkleiner und wieder als thumb_image.jpg speicher.....dann wäre mein problem endlcih gelöst !!!!!

            Kommentar


            • #21
              Code:
              <?php 
              // Thumbnailgenerator 
              $imgpath = "images/image.jpg"; 
              $src = imagecreatefromjpeg($imgpath); 
              $src_b = imagesx($src); 
              $src_h = imagesy($src); 
              if (!isset($neue_b)) { $neue_b = 50; } 
              if (!isset($neue_h)) { $neue_h = 50; } 
              $dst = imagecreate($neue_b, $neue_h); 
              imagecopyresized($dst, $src, 0, 0, 0, 0, $neue_b, $neue_h, $src_b, $src_h); 
              imagejpeg($dst,"images/thumb_image.jpg"); 
              ?>
              Der Code funktioniert bei mir tadellos.

              @blume
              Um die hier aufgeführten Funktionen nutzen zu können, muss die GD Bibliothek auf dem Server installiert sein. Scheinbar ist das bei Dir nicht der Fall. Am besten Du überprüfst das mit phpinfo().

              Gruß Jan

              Kommentar


              • #22
                gd ist bei mir installiert!

                das script funzt soweit ja auch, allerdings kann er keine neue datei namens thumb_image.jpg schreiben!

                wenn ich ihm sage: er soll image.jpg schreiben, dann macht er es ohne probleme! hat halt nur den nachteil, das das orgiginalbild dann überschrieben ist !!!

                Kommentar


                • #23
                  hmm...habs gerade nochmal probiert...jetzt klappt es..... hatte den rechner zwischenzeitlich mal neu gestarte!!!


                  danke für die hilfe !
                  !!!!!!!!

                  Kommentar


                  • #24
                    Na Gott sei Dank!

                    Das mit GD war auch an blume gerichtet.

                    Gruß Jan

                    Kommentar


                    • #25
                      thx wede das prüfen ;-)) hab das nur lokal getestet ;-)))

                      jupiii aufm liverserver funzt das tadellos ist echt geil dises script muss ich schon sagen wirklich....

                      jetzt noch ne frage wie kann ich meinen localhost das heist mein pc updaten ????

                      das heisst wo krige ich die GD Bibliothek her ???

                      und dann hab ich noch ne bemerkung wenn ich das bild zuerst zbsp. 50x50 machen lasse und danach im script 100x100 schreibe dann nimmt er wider 50x50 das heiis nur wenn ich den sellben bildnam benutze ..... hmm wo wird das gespeichert oder wiso ist das so hatt jemand ne ahnung ???

                      thx blume

                      [Editiert von blume am 23-02-2002 um 17:08]
                      für wallpaper: blumenbeet.com

                      Kommentar


                      • #26
                        das thema ist zwar schon älter, aber ich finde es trotzdem gut.

                        nun habe ich eine frage. wie kann ich es anstellen, das egal welche bildgrösse kommt, die bilder nicht verzerrt werden. sie sollen maximal 300 pixel breit sein und 200 pixel hoch. wenn sie kleiner sind, soll die originalgrösse beibehalten werden.

                        wie muß ich das abändern, damit die bilder im verhältniss bleiben?

                        hoffentlich kann mir hier jemand helfen.

                        Daniel
                        http://www.nanc-angel.de

                        Kommentar


                        • #27
                          das ist ein doppelter Dreisatz:

                          bmax=300
                          hmax=200
                          Da du das Seitenverhältnis beibehalten möchtest,
                          musst du die Originalmaße mit einem gemeinsamen
                          Faktor multiplizieren, um die neuen Maße zu erhalten.

                          Ist das Bild breiter als bmax, dann ist der Quotient
                          bmax/bsrc kleiner als 1; das gleiche gilt für die Höhe.
                          bfact = bmax/bsrc
                          hfact = hmax/hsrc

                          Damit das Bild beide maximalen Maße nicht sprengt,
                          brauchst du als Faktor den kleineren der beiden Quotienten.
                          f = min(bfact, hfact)

                          Sind beide Quotienten >1, werden kleine Bilder aufgeblasen,
                          bis sie das Fenster ausfüllen. Um das zu verhindern, kannst
                          du der Funktion min noch die 1 als dritten Parameter übergeben.
                          f = min(bfact, hfact, 1)

                          Dann multiplizierst du Original-Höhe und -Breite mit diesem Wert
                          und machst die Werte per TypeCast zu Integer,
                          die du dann in imagecreate und imagecopyresized benutzt.

                          In PHP sieht das dann so aus:
                          PHP-Code:
                          $src_b imagesx($src); 
                          $src_h imagesy($src); 
                          $max_b 300;
                          $max_h 200;

                          $fact_b $max_b/$src_b;
                          $fact_h $max_h/$src_h;
                          $fact min($fact_b$fact_h1);

                          $neue_b = (int)($fact $src_b);
                          $neue_h = (int)($fact $src_h); 
                          mein Sport: mein Frühstück: meine Arbeit:

                          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

                          Kommentar


                          • #28
                            *schluck*

                            hey titus du hast echt was drauf.

                            vielen dank...Daniel
                            http://www.nanc-angel.de

                            Kommentar

                            Lädt...
                            X