Tilman: mit php bild verkleinern

Beitrag lesen

Am einfachsten mit einer Funktion  - imagecopyresample()
hier eine Varainte wo du die Größen festlegen kannst und wie die neue datei heissen soll.  $cfg[] sind von mir global festgelegte standart Werte. Fuchs dich durch oder kopiers und räum drin auf. Ich hab gerade festgestellt wie unordentlich die eigentlich ist. Naja, lang nichts dran gemacht. funktioniert aber sehr fein.  Weitere Lösungswege:
http://de2.php.net/manual/en/function.imagecopyresampled.php

Achtung GD Lib zwei muss installiert sein.

function resize_max($the_path, $the_file_name, $server_file_name, $max_size='200'){
global $cfg;
 $src_img = imagecreatefromjpeg($the_path . $the_file_name);
     $img_w = imagesx($src_img);
     $img_h = imagesy($src_img);
 if($img_w>$cfg['upload']['max_img_width'] || $img_h>$cfg['upload']['max_img_height']) $errors .= '&gt; Das Bild ist zu groß.<br />';
 elseif(($img_w>$max_size)||($img_h>$max_size)) {
         if ($img_w < $img_h) {
              $new_h = $max_size;
           $new_w = $max_size * ($img_w/$img_h);
         } else {
             $new_h = $max_size * ($img_h/$img_w);
           $new_w = $max_size;
         }
     }
     else { // keep size
  $new_w = $img_w;
  $new_h = $img_h;
 }

$dst_img = imagecreatetruecolor($new_w,$new_h);
     imagecopyresampled($dst_img, $src_img,0,0,0,0,$new_w, $new_h, $img_w, $img_h);
     if(!imagejpeg($dst_img, $the_path . $server_file_name)) $errors .= '&gt; Fehler beim Schreiben des Bildes<br />';

if($errors) return $errors;
     else return '';
}

Viel Spass damit.