Вам нужен
php.net/manual/ru/book.imagick.php
Там есть различные методы, некоторые кропят и уменьшают с средним качеством а некоторые как PS.
Но вы должны понимать, что при хорошем качестве будет и хорошая нагрузка.
$i = new \Imagick($target);
// По сути сначала вы делаете кроп
$i->cropImage(...);
// Затем уменьшаете без потери качества
$i->ThumbnailImage($width, $height, true);
Вот, есть хороший обзор/урок
sunnyblik.livejournal.com/39172.html?page=1