(PECL imagick 2.0.0)
Imagick::resizeImage — Scales an image
$columns
, int $rows
, int $filter
, float $blur
[, bool $bestfit = FALSE
[, bool $legacy = FALSE
]] ) : boolScales an image to the desired dimensions with a filter.
Nota: O comportamento do parâmetro
bestfitmudou no Imagick 3.0.0. Antes desta versão ao informar dimensões 400x400 numa imagem de 200x150 não causaria alterações. No Imagick 3.0.0 e posteriores a imagem seria escalada para 400x300 por ser o "melhor ajuste" entre as dimensões. Sebestfité informado tanto a altura como comprimento devem ser informados.
columnsWidth of the image
rowsHeight of the image
filterRefer to the list of filter constants.
blurThe blur factor where > 1 is blurry, < 1 is sharp.
bestfitOptional fit parameter.
Retorna TRUE no sucesso.
| Versão | Descrição |
|---|---|
| 2.1.0 | Added optional fit parameter. This method now supports proportional scaling. Pass zero as either parameter for proportional scaling. |
Exemplo #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();
}
?>