Mal wieder: Image resize

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

  • #16
    Also irgendwie ist da der Wurm drin.

    PHP-Code:
    Warningopen_basedir restriction in effectFile is in wrong directory in functions.php on line 17

    Warning
    imagecreatefromjpegUnable to open '/tmp/phpGDYUVl' for reading in functions.php on line 17

    Warning
    Supplied argument is not a valid Image resource in functions.php on line 18

    Warning
    Supplied argument is not a valid Image resource in functions.php on line 18

    Warning
    Supplied argument is not a valid Image resource in functions.php on line 18

    Warning
    Unable to open 'gw.jpg' for readingNo such file or directory in functions.php on line 25 

    Kommentar


    • #17
      schade schade

      hatte mich eigentlich eingeklinkt um über diese gd-bibliothek zu erfahren.
      aber irgendwie wurde ich übersehen! ich denke xmedia2000 hatte diese vorher auch nicht, und jetzt wohl doch! kann mir bitte jemand sagen was das ist bzw. wir ich es bei mir zum laufen bekomme und warum ich es benötige!

      wäre echt riesig!!!
      [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

      Kommentar


      • #18
        @Mister

        hier mal ein Zitat:

        Mit den Image-Funktionen von PHP lassen sich Grafiken direkt mit PHP-Befehlen bearbeiten (je nach installierter Grafikbibliothek im JPG-, PNG- und/oder GIF-Format). Eine häufig gewünschte Funktion ist das Verkleinern von Bildern, um eine schneller zu ladende Vorschau bieten zu können.

        Allerdings ist dies eine sehr rechenintensive Angelegenheit.

        In der Regel wird zur Skalierung die Funktion ImageCopyResized() genutzt. Die Qualität ist hierbei je nach Auflösung und Farbtiefe nicht besonders gut. Ab PHP 4.0.6 gibt es zusätzlich die Funktion ImageCopyResampled() (benötigt mindestens GD 2.0.1), die dank Anti-Aliasing hübschere Ergebnisse liefert.
        Zumindest weißt du jetzt, was das ist... ;-)
        Zuletzt geändert von xmedia2000; 24.11.2002, 15:47.

        Kommentar


        • #19
          Du musst die benötigten Extensions laden.

          In der PHP.INI wird dafür der Eintrag "extension=php_gd.dll" aktiviert, indem das vorangestellte ";" entfernt wird.

          Die Datei "php_gd.dll" enthält ab der Version 1.6 nur mehr die Funktionen für .JPG und .PNG Dateien. Für .GIF Dateien wird die "php_gd_gif.dll" benötigt.

          Achte auch darauf, daß der Pfad zu den Extensions in der PHP.INI richtig eingestellt ist (z.B. extension_dir ="C:\php4\extensions")

          Hoffe, das zumindest Dir jetzt geholfen wurde

          Kommentar


          • #20
            Also irgendwie hab ich jetzt fast alles ausprobiert. Funzt nicht.
            Gibt es denn keine Möglichkeit, direkt beim Upload eines Bildes die Größe
            zu verändern?

            Langsam krieg ich Anfälle mit diesem sche*** GD-Modul.

            Kommentar


            • #21
              okay...

              das probier ich mal! die extentions dazu sind aber in dem ordner da, oder muss ich da noch etwas reinbasteln?
              ich hab mir jetzt nicht alles bei dir durchgelesen,
              das kann doch nicht so schwer sein.
              ich verändere bei mir zwar nix vorm upload, aber ich scaliere es für die ausgabe. das sollte aber auch umgekehrt, also vorm upload funktionieren!
              musste die größe deies pics auslesen und entsprechend mutiplizieren!
              mfg
              [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

              Kommentar


              • #22
                Und hoch mit dem Thema.

                Ich denke dochmal das mir wohl irgendjemand helfen kann.....

                Kommentar


                • #23
                  von GD hab ich nich wirklich ahnung, aber vielleicht hilft dir ja das hier weiter...
                  eval(str_pad(aa|db,4,slarti^~äü_i_)." \"áú¾ïùû䶳Ðäýï©üèíþç£þé\"^~\"no bugs, only features\";");

                  Kommentar


                  • #24
                    Mmh.

                    Nur wie kann ich das in ein Upload-Formular einbauen?
                    Bin da ein wenig unbeholfen. Helft mir halt mal bitte.

                    Kommentar


                    • #25
                      hallo,

                      du hast folgende Fehlermeldung weiter oben gepostet:
                      PHP-Code:
                      Warningopen_basedir restriction in effectFile is in wrong directory in functions.php on line 17 
                      die kommt wahrscheinlich daher dass php bei dir im safe mode läuft.
                      Um das zu beheben musst du das upgelodete bild zuerst vom tmp Verzeichnis in ein verzeichnis auf deinem Webspace kopieren mit
                      PHP-Code:
                      move_uploaded_file($datei"$upload_path/$datei_name"); 
                      mit dem script von array_hunter würde das dann in etwa so aussehen:

                      Upload html datei:
                      Code:
                      <html> 
                      <head> 
                      <title>Kleines Uploadscript</title> 
                      </head> 
                      <body> 
                      <form method="POST" action="upload.php" enctype="multipart/form-data"> 
                      Datei hochladen:
                      <br />
                      <input type="file" name="datei" size="30">
                      <br />
                      H&ouml;he:<input type="text" name="hh" size="4" /><br />
                      Breite:<input type="text" name="bb" size="4" /><br />
                      <input type="submit" name="submit" value="Upload">  
                      </form> 
                      </body> 
                      </html>
                      upload.php :
                      PHP-Code:
                      <?php 
                      $bx
                      =$_POST['bb'];                 // neue Breite angeben aus formular
                      $by=$_POST['hh'];                 // neue Hoehe angeben aus formular
                      $upload_path "/www/xxx/upload";//Hier dein Bildverzeichnis
                      move_uploaded_file($datei"$upload_path/$datei_name");
                      $bild=imagecreatefromjpeg("$upload_path/$datei_name");
                      $bo=imagesx($bild);
                      $ho=imagesy($bild);

                      $bildneu=imagecreate($bx,$by);
                      imagecopyresized($bildneu,$bild,0,0,0,0,$bx,$by,$bo,$ho);
                      imagejpeg($bildneu,"$upload_path/$datei_name");
                      imagedestroy($bild);
                      if (
                      file_exists("$upload_path/$datei_name")) { 
                      $log .= "Das Bild wurde gespeichert!"

                      ?>
                      <html> 
                      <head> 
                      <title>Bildupload</title> 
                      </head > 
                      <body> 
                      <? 
                      echo $log; 
                      ?> 
                      </p> 
                      <body> 
                      <html>
                      hoffe das hilft, gruss

                      Kommentar


                      • #26
                        okay, die bibi...

                        ist aktiviert! sehe meine pics aber noch nicht!
                        naja, aber wo bekomme ich die "php_gd_gif.dll" denn her?????
                        danke
                        [color=red]musse rühre, musse probiere=>iss a pulsgeber ![/color]

                        Kommentar


                        • #27
                          @Freaxx:

                          Cool. Danke. Endlich mal jemand der mir helfen konnte. Das Script
                          hab ich soweit mal abgeändert und es funktioniert jetzt auch.

                          Nur sieht die Resized-Qualität nicht so gut aus. Ehrlich gesagt sieht
                          die genauso aus, wie wenn ich im <img src>-Tag das ganze mit "width="""
                          beschränke.

                          Kann ich die Qualität irgendwie verbessern?
                          PS: Habs auch schon imagecreatetruecolor und imgagecopyresampled
                          probiert, aber die Quali ist immernoch schlecht.

                          Nochmals vielen Dank an Freaxx.

                          Kommentar


                          • #28
                            Hat sich erledigt. Hab es geschafft. Funktioniert jetzt.

                            EINE FRAGE HÄTTE ICH NOCH:

                            Wie kann ich es machen, das ich immer eine Breite von 250px habe
                            und er mir die Höhe des Bildes (proportional) ausrechnet.
                            Dabei soll es egal sein, welche Originalgrösse das Bild hat.

                            Vielen Dank für eure Antworten.

                            Kommentar


                            • #29
                              mit ein bisschen Mathe kannst du die Höhe proportional ausrechnen:
                              PHP-Code:
                              <?php 
                              $bx
                              =250;                 // neue Breite angeben              
                              $upload_path "/www/xxx/upload";       //Hier dein Bildverzeichnis
                              move_uploaded_file($datei"$upload_path/$datei_name");
                              $bild=imagecreatefromjpeg("$upload_path/$datei_name");
                              $bo=imagesx($bild);
                              $ho=imagesy($bild);
                              $verhaeltnis=$bo/$bx//verhaeltnis berechnen
                              $by=$ho/$verhaeltnis//hoehe berechnen (proportional)

                              $bildneu=imagecreate($bx,$by);
                              imagecopyresized($bildneu,$bild,0,0,0,0,$bx,$by,$bo,$ho);
                              imagejpeg($bildneu,"$upload_path/$datei_name");
                              imagedestroy($bild);
                              if (
                              file_exists("$upload_path/$datei_name")) { 
                              $log .= "Das Bild wurde gespeichert!"

                              ?>
                              gruss

                              Kommentar


                              • #30
                                Stimmt. Sorry, aber dieses ganze GD-Schei... hat mit langsam die letzten Nerven gekostet. Das alles nur an dieser Zeile gelegen hat:
                                PHP-Code:
                                move_uploaded_file($datei"$upload_path/$datei_name"); 
                                kann ich ja fast nicht glauben.

                                Also jetzt funktioniert alles so, wie ich es eigentlich wollte.

                                Vielen Dank Freaxx.

                                Kommentar

                                Lädt...
                                X