PHP Velho Oeste 2024

Imagick::adaptiveResizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::adaptiveResizeImageАдаптивное изменение размера изображения с данными триангуляции

Описание

public Imagick::adaptiveResizeImage(
    int $columns,
    int $rows,
    bool $bestfit = false,
    bool $legacy = false
): bool

Адаптивное изменение размера изображения с данными триангуляции. Позволяет избежать размытия через резкое изменение цвета. Чаще всего используется для уменьшения изображений чуть меньше "размера для web"; получается плохо, когда полноразмерное изображение адаптивно изменяется в миниатюру. Этот метод доступен, если Imagick был скомпилирован с версией ImageMagick 6.2.9 или старше.

Замечание: Поведение параметра bestfit было изменено в Imagick 3.0.0. До этой версии при изменении изображения размером 200 x 150 до размера 400 x 300 никаких операций не происходило. В Imagick 3.0.0 и более поздних версиях изображение будет масштабировано до размера 400 x 300, так как наиболее соответствует ("best fit") данным размерам. Если указан параметр bestfit, то ширина и высота также должны быть определены.

Список параметров

columns

Количество столбцов в масштабе изображения.

rows

Количество строк в масштабе изображения.

bestfit

Будет ли подгоняться изображение внутри ограничительной рамки.

Возвращаемые значения

В случае успешной работы возвращает true.

Ошибки

Вызывает ImagickException в случае возникновения ошибки.

Список изменений

Версия Описание
PECL imagick 2.1.0 Добавлен необязательный параметр подгонки.
PECL imagick 2.1.0 Метод теперь поддерживает пропорциональное масштабирование. Для этого нужно передать 0 одному из параметров.

Примеры

Пример #1 Пример использования Imagick::adaptiveResizeImage()

Изменение размеров изображения обычно используемых в web. Этот метод лучше всего работает при небольшом изменении размера.

<?php
header
('Content-type: image/jpeg');

$image = new Imagick('image.jpg');
$image->adaptiveResizeImage(1024,768);

echo
$image;
?>

Смотрите также

add a note add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top