Antworten

Thema: Bilder beim Hochladen selber zuschneiden.

Nachricht

Klicke hier, um dich anzumelden

 

Du kannst aus dieser Liste ein Symbol für deine Nachricht auswählen.

Zusätzliche Einstellungen

  • Wenn du diese Option aktivierst, werden URLs automatisch mit BB-Code ergänzt. www.beispiel.de wird zu [URL]http://www.beispiel.de[/URL].

Thema bewerten

Wenn du möchtest, kannst du dieses Thema bewerten.

Übersicht (Neuester Beitrag zuerst)

  • 09.03.2008
    terra-power
    Verraten kann ich dirs:

    if(function_exists("imagecopyresampled")) imagecopyresampled($thumbnail, $newimage, 0, 0, 0, 0, $thumbnailwidth, $thumbnailheight, $imagewidth, $imageheight);
    else imagecopyresized($thumbnail, $newimage, 0, 0, 0, 0, $thumbnailwidth, $thumbnailheight, $imagewidth, $imageheight);

    Da musste die entsprechenden GD funktionen einfügen. Hab jedoch kein PHP Intepreter und auch nicht deine "Community" um die entsprechenden Befehle zu testen. Bin ja kein Compiler, müsste das was ich code schon debuggen und das fällt ja nun mal weg. Also zu deutsch: ich kann ja schlecht was programmieren, was ich weder im Modul noch Integrationstest probieren kann.

    Trotzdem schönen Abend.
  • 04.03.2008
    Bli3nez
    Aber könntest du mir nicht verraten wie man im diesen text etwas ändert damit das bild nicht geschnitten wird sondern einfach vom z.b. 640x480 einfach verkleinert also das bild bleibt wird aber einfach nur verkleinert auf 320x240 also 240 breite und 320 höhe .

    oder das es nicht vom linke seite raus geschnitten wird, sondern aus der mitte:

    PHP-Code:
      if($createthumbnail)
      {
       if(
    function_exists("imagecreatetruecolor")) $thumbnail imagecreatetruecolor($this->thumbnailwidth$this->thumbnailheight);
       else 
    $thumbnail imagecreate($this->thumbnailwidth$this->thumbnailheight);
       if(
    $imagewidth $imageheight)
       {
        
    $thumbnailwidth $this->thumbnailwidth;
        
    $thumbnailheight round(($this->thumbnailwidth $imagewidth) * $imageheight);
        if(
    $thumbnailheight $this->thumbnailheight)
        {
         
    $thumbnailwidth round(($this->thumbnailheight $thumbnailheight) * $thumbnailwidth);
         
    $thumbnailheight $this->thumbnailheight;
        }
       }
       else
       {
        
    $thumbnailwidth round(($this->thumbnailheight $imageheight) * $imagewidth);
        
    $thumbnailheight $this->thumbnailheight;
        if(
    $thumbnailwidth $this->thumbnailwidth)
        {
         
    $thumbnailheight round(($this->thumbnailwidth $thumbnailwidth) * $thumbnailheight);
         
    $thumbnailwidth $this->thumbnailwidth;
        }
       }
       if(
    function_exists("imagecopyresampled")) imagecopyresampled($thumbnail$newimage0000$thumbnailwidth$thumbnailheight$imagewidth$imageheight);
       else 
    imagecopyresized($thumbnail$newimage0000$thumbnailwidth$thumbnailheight$imagewidth$imageheight);
                                                                                   
    $extension "jpg"// überschreibt die datei ändung der erstelten datei in jpg
       
    $thumbnailsavepath "./".$this->uploadpath."/".$this->prefix.$insert_id.".".$extension;  // Dateiname + ändung $extension
       
    if(preg_match("/jpg|jpeg/"$extension)) $check = @imagejpeg($thumbnail$thumbnailsavepath$quality);
       elseif(
    preg_match("/png/"$extension)) $check = @imagepng($thumbnail$thumbnailsavepath$quality);
       
    imagedestroy($thumbnail);
          
    $newimage = @imagecreatefromjpeg($this->uploadpath."/".$this->prefix.".jpg");
          
    $imagewidth imagesx($newimage);
      
    $imageheight imagesy($newimage);
       if(!
    $check)
       {
        
    imagedestroy($newimage);
        return 
    FALSE;
       }
      } 
  • 04.03.2008
    terra-power
    Hallo.

    Leider (wie in der Ankündigung geschrieben), kann ich keine komplette Lösung geben. Stichwort aber, PHP GD. Das ist die Grafikbibliothek für PHP.

    Referenz: http://de.php.net/manual/de/ref.image.php
    Anwendungsbesiepiel Bild verkleinern: http://blog.t-error.ch/article/427/b...x_verkleinern/

    Viel Erfolg!

    Marc
  • 03.03.2008
    Bli3nez
    hehe, naja nicht jeder user kommt auf die idee, aber wenn da 400 user auf der seite sind und die laden alle die fotos hoch , ist es schon ab und zu mal ärgerlich das auf dem foto hinterher nur halbes gesicht zu sehen ist. aber danke dir für den vorschlag hehe

    also währe nicht schlecht wenn man selber entscheiden könnte wie das foto geschnitten wird oder zumindestens z.b. von 640x480 auf 320x240 oder oder sowas.
  • 03.03.2008
    blaustern
    Vielleicht eine blöde Idee, aber schneide doch die Bilder mit einem Bildprogramm schon vor dem Hochladen zu, dann ersparst Du dir den nachträglichen Zuschnitt.
  • 27.01.2008
    Bli3nez
    Hallo meine lieben,
    ich besitze ein Flirt Community Script und dort ist imageupload file , wenn die mitglieder die fotos hochladen, wird das automatisch auf 240x320 zugeschnitten, aber das foto wird nicht verkleinert , es wird geschnitten und zwar nur die linke seite vom foto, also wenn man ein foto hat 640x480 wird einfach auf 240x320 geschnitten und wenn man z.b. auf dem foto in der mitte steht, wird einfach halber körper weggeschnitten.

    kann man das den nicht umarbeiten , das dass foto in der mitte geschitten wird?

    hier ist die _class_imageupload

    PHP-Code:
    <?php
    class imageupload extends fileupload
    {
     var 
    $prefix;
     var 
    $uploadpath;
     var 
    $thumbnailwidth;
     var 
    $thumbnailheight;
     var 
    $allowedextensions;

     var 
    $_FILES;


     function 
    imageupload($prefix$inputfield$uploadpath$thumbnailwidth$thumbnailheight)
     {
      
    $this->prefix $prefix;
      
    $this->uploadpath $uploadpath;
      
    $this->thumbnailwidth $thumbnailwidth;
      
    $this->thumbnailheight $thumbnailheight;
      
    $this->allowedextensions = array("jpg""jpeg""png");

      
    $this->_FILES = &$_FILES[$inputfield];
     }

     function 
    doupload($insert_id$createthumbnail$copywatermark$quality="75"$transition="100")
     {
      
    $extension $this->getextension();
      if(
    preg_match("/jpg|jpeg/"$extension)) $newimage = @imagecreatefromjpeg($this->_FILES['tmp_name']);
      elseif(
    preg_match("/png/"$extension)) $newimage = @imagecreatefrompng($this->_FILES['tmp_name']);

      if(!
    $newimage)
      {
       return 
    FALSE;
      }

      
    $imagewidth imagesx($newimage);
      
    $imageheight imagesy($newimage);

    //--------------------------Erstelt klein bild----------------------------
      
    if($createthumbnail)
      {
       if(
    function_exists("imagecreatetruecolor")) $thumbnail imagecreatetruecolor($this->thumbnailwidth$this->thumbnailheight);
       else 
    $thumbnail imagecreate($this->thumbnailwidth$this->thumbnailheight);

       if(
    $imagewidth $imageheight)
       {
        
    $thumbnailwidth $this->thumbnailwidth;
        
    $thumbnailheight round(($this->thumbnailwidth $imagewidth) * $imageheight);

        if(
    $thumbnailheight $this->thumbnailheight)
        {
         
    $thumbnailwidth round(($this->thumbnailheight $thumbnailheight) * $thumbnailwidth);
         
    $thumbnailheight $this->thumbnailheight;
        }
       }
       else
       {
        
    $thumbnailwidth round(($this->thumbnailheight $imageheight) * $imagewidth);
        
    $thumbnailheight $this->thumbnailheight;

        if(
    $thumbnailwidth $this->thumbnailwidth)
        {
         
    $thumbnailheight round(($this->thumbnailwidth $thumbnailwidth) * $thumbnailheight);
         
    $thumbnailwidth $this->thumbnailwidth;
        }
       }

       if(
    function_exists("imagecopyresampled")) imagecopyresampled($thumbnail$newimage0000$thumbnailwidth$thumbnailheight$imagewidth$imageheight);
       else 
    imagecopyresized($thumbnail$newimage0000$thumbnailwidth$thumbnailheight$imagewidth$imageheight);
                                                                                   
    $extension "jpg"// überschreibt die datei ändung der erstelten datei in jpg
       
    $thumbnailsavepath "./".$this->uploadpath."/".$this->prefix.$insert_id.".".$extension;  // Dateiname + ändung $extension
       
    if(preg_match("/jpg|jpeg/"$extension)) $check = @imagejpeg($thumbnail$thumbnailsavepath$quality);
       elseif(
    preg_match("/png/"$extension)) $check = @imagepng($thumbnail$thumbnailsavepath$quality);
       
    imagedestroy($thumbnail);

          
    $newimage = @imagecreatefromjpeg($this->uploadpath."/".$this->prefix.".jpg");
          
    $imagewidth imagesx($newimage);
      
    $imageheight imagesy($newimage);
       if(!
    $check)
       {
        
    imagedestroy($newimage);
        return 
    FALSE;
       }
      }
    //-------------------------Wasserzeichen---------------------------------------------
      
    if($copywatermark)
      {
       
    $watermark imagecreatefrompng("images/watermark.png");

       
    $watermarkwidth imagesx($watermark);
       
    $watermarkheight imagesy($watermark);

       
    $transparent imagecolorat($watermark11);
       
    imagecolortransparent($watermark$transparent);

       
    imagecopymerge($newimage$watermark$imagewidth $watermarkwidth 3$imageheight $watermarkheight 300$watermarkwidth$watermarkheight$transition);
       
    imagedestroy($watermark);
      }

      
    $imagesavepath "./".$this->uploadpath."/".$this->prefix.$insert_id.".".$extension;
      if(
    preg_match("/jpg|jpeg/"$extension)) $check = @imagejpeg($newimage$imagesavepath100);
      elseif(
    preg_match("/png/"$extension)) $check = @imagepng($newimage$imagesavepath100);
      
    imagedestroy($newimage);

      if(!
    $check)
      {
       
    unlink($thumbnailsavepath);
       return 
    FALSE;
      }

      return 
    TRUE;
     }
    }
    ?>

Berechtigungen

  • Neue Themen erstellen: Ja
  • Themen beantworten: Ja
  • Anhänge hochladen: Ja
  • Beiträge bearbeiten: Ja
  •