Это очень легко сделать, используя встроенные методы в ImageArtist , который является чистой оболочкой GD OO.
Преимущество использования GD над Imagick заключается в том, что расширение GD поддерживается широким диапазономхостинг-провайдеров, так что ваш код, который работает нормально в большинстве случаев, работает нормально после хостинга.
вот пример кода.
$img = new Image("./cover.jpg");
$img->scaleToWidth(100); // make the width 100px and make sure to resize height accroding to the ratio
$img->scaleToHeight(100); // make the hegith 100px and make sure to resize width accroding to the ratio
/* if you want to crop the image */
$img->crop(5,5,90,90); // this will crop a rectangle keeping 5px border
/* finally save it */
$img2->save("./final.png",IMAGETYPE_PNG);