Image Magick, imagick

Операции, которыми чаще всего пользуюсь при работе с фотками:

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";
Запись опубликована в рубрике PHP с метками . Добавьте в закладки постоянную ссылку.