Я довольно новичок в iMagick и нашел только очень ограниченную документацию по библиотеке PHP. Я счастливо изменяю размеры изображений и записываю их обратно на жесткий диск, но мне не удается полностью сжать изображения, например, с помощью JPG.
Это код, который я использую до сих пор
function scale_image($size = 200,$extension)
{
if(!file_exists(ALBUM_PATH . $this->path . $this->filename . $extension))
{
$im = new imagick(ALBUM_PATH . $this->path . $this->filename);
$width = $im->getImageWidth();
$height = $im->getImageHeight();
if($width > $height)
$im->resizeImage($size, 0, imagick::FILTER_LANCZOS, 1);
else
$im->resizeImage(0 , $size, imagick::FILTER_LANCZOS, 1);
$im->setImageCompression(true);
$im->setCompression(Imagick::COMPRESSION_JPEG);
$im->setCompressionQuality(20);
$im->writeImage(ALBUM_PATH . $this->path . $this->filename . $extension);
$im->clear();
$im->destroy();
}
}
Любая помощь будет принята с благодарностью.
Большое спасибо
Rob