(PECL imagick 2, PECL imagick 3)
Imagick::thumbnailImage — Изменяет размер изображения
$columns,$rows,$bestfit = false,$fill = false,$legacy = false
Метод изменяет размерность изображения до заданных размеров и удаляет цветовые профили и другие метаданные изображения.
Цель состоит в том, чтобы создавать легкие миниатюры изображений для отображения на вебе.
При передаче в третий параметр значения true параметры столбцов и строк определяют предельные размеры каждой стороны.
Функция пропорционально уменьшает изображение, пока каждая сторона не совпадёт со значением или не станет меньше значения параметра этой стороны.
Замечание: Поведение параметра
bestfitизменили в Imagick 3.0.0. До этой версии при размерах 400 x 300 точек изображение размером 200 x 150 точек оставалось нетронутым. В Imagick 3.0.0 и более поздних версиях изображение будет масштабироваться до размера 400 x 300 точек, поскольку такой размер «больше остальных соответствует» заданным размерам. Потребуется указать как ширину, так и высоту, если задали параметрbestfit.
columnsШирина изображения.
rowsВысота изображения.
bestfitОпределяет, следует ли принудительно устанавливать максимальные значения.
fillИзображение заливается фоновым цветом изображения, если изображение не заполняет область на 100 %.
legacyПараметр принудительно округляет меньшую сторону изображения до ближайшего целого вниз, даже если значение дробной части больше или равно 0.5.
При успешном выполнении функция возвращает true.
При ошибке функция выбрасывает исключение ImagickException.
Пример #1 Пример изменения размера изображения функцией Imagick::thumbnailImage()
<?php
function thumbnailImage($imagePath) {
$imagick = new \Imagick(realpath($imagePath));
$imagick->setbackgroundcolor('rgb(64, 64, 64)');
$imagick->thumbnailImage(100, 100, true, true);
header("Content-Type: image/jpg");
echo $imagick->getImageBlob();
}
?>