Crop Image nach skalierung

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

  • Crop Image nach skalierung

    Hallo,

    ich habe mir ein Script gebastelt, welches beim Upload eines Bildes (jpg) proportional skaliert und neu speichert. Nun will ich mittels "crop" die Höhe bzw Breite auf ein einheitliches Mas bringen (60px).
    Habe dazu ein paar threads gelesen und auch ne Lösung gefunden!

    Allerdings wird das Bild erst beschnitten und dann skaliert. Ich möchte erst auf die Höhe bzw Breite skalieren und dann den Überhang abschneiden.

    Hier mal mein Code:
    PHP-Code:
    function thumbnail($imgfile
       { 
       
    $tmp_file $imgfile;
       
    $imgfile "../kollektion/img/".$imgfile;
       
    //Max. Größe des Thumbnail (Höhe und Breite) 
       
    $thumbsize 60

       
    //Speicherort der Thumbnails 
       
    $ordner "../kollektion/img/thumb/"


       
    //Infos über das Bild 
       
    $endung strrchr($imgfile,"."); 

       
    $info getimagesize($imgfile); 
       
    $width $info[0];
       
    $height $info[1];
       
       
    $imgratio=$width/$height

       
    //Ist das Bild höher als breit? 
       
    if($imgratio<1
          { 
          
    $newwidth $thumbsize
          
    $newheight $thumbsize/$imgratio
          } 
       else 
          { 
          
    $newheight $thumbsize
          
    $newwidth $thumbsize*$imgratio
          } 

       
    //Bild erstellen 
          
    $thumb imagecreate ($newwidth,$newheight); 

       if(
    $endung == ".jpg" OR $endung == ".JPG"
          { 
          
    imageJPEG($thumb,$ordner."temp.jpg"); 
          
    $thumb imagecreatefromjpeg($ordner."temp.jpg"); 

          
    $source imagecreatefromjpeg($imgfile); 
          } 
       else if(
    $endung == ".gif"
          { 
          
    imageGIF($thumb,$ordner."temp.gif"); 
          
    $thumb imagecreatefromgif($ordner."temp.gif"); 

          
    $source imagecreatefromgif($imgfile); 
          } 
          
        
    // Resize und Crop festlegen.
        
    if($info[0] > $info[1])
        {
          
    $newwidth $info[1] / 2;
          
    $newheight $info[0] / 2;
        }
        else
        {
          
    $newwidth $info[0] / 2;
          
    $newheight $info[1] / 2;
        }

        
    $cropLeft = ($newwidth/2) - ($width/2);
        
    $cropHeight = ($newheight/2) - ($height/2);

       
    imagecopyresampled($thumb$source0000$newwidth$newheight$width$height); 

       
    //Bild speichern 
       
    if($endung == ".png"
          
    imagepng($thumb,$ordner.$imgfile); 
       else if(
    $endung == ".gif"
          
    imagegif($thumb,$ordner.$tmp_file); 
       else 
          
    imagejpeg($thumb,$ordner.$tmp_file,100); 

       
    //Pfad zu dem Bild zurückgeben 
       
    return $ordner.$imgfile
       } 
    Kann mir jemand helfen? Denkfehler?

    Danke schonmal im voraus!

  • #2
    Re: Crop Image nach skalierung

    PHP-Code:
    $cropLeft = ($newwidth/2) - ($width/2);
    $cropHeight = ($newheight/2) - ($height/2); 
    Fein, dass du diese Werte ausrechnest - nur wozu eigentlich? Benutzen tust du sie ja danach nicht mehr.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar

    Lädt...
    X