Imagick::resizeImage

(PECL imagick 2, PECL imagick 3)

Imagick::resizeImageScales an image

Опис

public Imagick::resizeImage(
    int $columns,
    int $rows,
    int $filter,
    float $blur,
    bool $bestfit = false,
    bool $legacy = false
): bool

Scales an image to the desired dimensions with a filter.

Зауваження: Поведінка параметра bestfit змінилася в Imagick 3.0.0. Раніше він не діяв на зображення розмірів 400x400 та 200x150. Починаючи з Imagick 3.0.0, такі зображення отримають розмір 400x300, оскільки це "найкраще підходить" для заданих розмірів. Якщо параметр bestfit використовується, необхідно вказати як висоту, так і ширину.

Параметри

columns

Width of the image

rows

Height of the image

filter

Refer to the list of filter constants.

blur

The blur factor where > 1 is blurry, < 1 is sharp.

bestfit

Optional fit parameter.

Значення, що повертаються

Повертає true в разі успіху.

Журнал змін

Версія Опис
PECL imagick 2.1.0 Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling.

Приклади

Приклад #1 Imagick::resizeImage()

<?php
function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {
//The blur factor where > 1 is blurry, < 1 is sharp.
$imagick = new \Imagick(realpath($imagePath));

$imagick->resizeImage($width, $height, $filterType, $blur, $bestFit);

$cropWidth = $imagick->getImageWidth();
$cropHeight = $imagick->getImageHeight();

if (
$cropZoom) {
$newWidth = $cropWidth / 2;
$newHeight = $cropHeight / 2;

$imagick->cropimage(
$newWidth,
$newHeight,
(
$cropWidth - $newWidth) / 2,
(
$cropHeight - $newHeight) / 2
);

$imagick->scaleimage(
$imagick->getImageWidth() * 4,
$imagick->getImageHeight() * 4
);
}


header("Content-Type: image/jpg");
echo
$imagick->getImageBlob();
}

?>