PHP: Bilder mit convert skalieren und zuschneiden

Gelegentlich will man Bilder eines Verzeichnisses zuschneiden und skalieren. Folgendes Snippet macht genau das in PHP:

function imageresize($src, $dest, $size=100){
   list($w, $h) = getimagesize($src);
   if ($w > $h) {
      exec("convert " . $src . " -resize x" . $size . " -quality 100 " . $dest);
   } else {
      exec("convert " . $src . " -resize " . $size . " -quality 100 " . $dest);
   }
   exec("convert " . $dest . " -gravity Center -crop " . $size."x" . $size . "+0+0 " . $dest);
}

$dir_org = 'images_org/';
$dir_small = 'thumbnails/';
$size = 240;
$files = scandir($dir_org);

foreach ($files as $file) {
    if ($file != '.' && $file != '..')
    {
        $fileInfo = pathinfo($dir_org . $file);
        $fileName = explode('.',str_replace('-backup', '', $fileInfo['basename']));
        $image = $dir_org . $file;
        $small = $fileName[0] . '-thumbnail.' . $fileName[1];
        imageresize($image,$dir_small.$small, $size);
    }
}

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


+ 4 = 12