Операции, которыми чаще всего пользуюсь при работе с фотками:
1. Определение версии imageMagick’а
exec("convert -version", $out, $rc);
2. Чтобы фото не превышало заданных параметров с сохранением пропорций
exec("convert {$_FILES['file']['tmp_name']} -quality 95 -resize 600x600\> {$dir}/{$name}.jpg");
3. Если нужно сделать ноготки, добавим резкости
exec("convert {$_FILES['file']['tmp_name']} -quality 95 -resize 75x75\> -unsharp 1x0.4 {$dir}/{$name}.jpg");
4. Если нужно вырезать квадрат размером 75×75 из центра изображения
exec("convert {$_FILES['file']['tmp_name']} -quality 95 -gravity center -crop 75x75+0+0 +repage -unsharp 1x0.4 {$dir}/{$name}.jpg");
5. Иногда нужно, чтобы превьюшка была строго заданного размера и при этом сохранялись пропорции. Создаем картинку с белым фоном заданного размера и сверху по центру накладываем изображение
exec("convert {$img_source} -thumbnail '75x75>' -background white -gravity center -extent 75x75 {$dir}/{$name}.jpg");
6. Водяной знак на фотки
exec("convert logo: -resize x180 -gravity center -crop 180x180+0+0 logo.jpg composite -geometry +160+13 eyes.gif logo.jpg wmark_symbol.jpg");
Лайба для изменения размера аватарок:
$files = scandir("uploads/avatars"); foreach($files as $v){ if($v == '.' or $v == '..') continue; $a = explode(".", $v); exec("convert uploads/avatars/{$v} -quality 95 -resize 100x\> uploads/avatars/{$a[0]}.gif"); } echo "ok";