<?php $images = new Imagick(glob('assets/p-images/*.JPG')); $imageprops = $image->getImageGeometry(); if ($imageprops['width'] <= 800 && $imageprops['height'] <= 600) { // don't upscale } else foreach($images as $image) { // Providing 0 forces thumbnailImage to maintain aspect ratio $image->resizeImage(800,600, imagick::FILTER_LANCZOS, 0.9, true); } return;
<?php // resize all images in p-images $dir = $modx->getOption('base_path') . 'assets/p-images/'; //original images $wdir = $modx->getOption('base_path') . 'assets/w-images/'; //watermarked images $files = glob($dir . "*.jpg"); //get all jpg from dir $watermark = new Imagick($modx->getOption('base_path') . "assets/images/watermark.png"); foreach($files as $images) { $image = new Imagick ($images); $imageprops = $image->getImageGeometry(); if ($imageprops['width'] <= 800 && $imageprops['height'] <= 600) { //is smaller, do nothing } else { // Providing 0 forces thumbnailImage to maintain aspect ratio $image->resizeImage(800,600, imagick::FILTER_BOX, 0.8, true); // write orig. images $image->writeImages($images, true); } $images = str_replace("p-images", "w-images", $images); $image->compositeImage($watermark, imagick::COMPOSITE_OVER, 0, 0); $image->writeImages($images, true); } return;