Imagick::resizeImage
(PECL imagick 2, PECL imagick 3)
Imagick::resizeImage — Dimensiona uma imagem
Descrição
int
$columns
,int
$rows
,int
$filter
,float
$blur
,bool
$bestfit
= false
,bool
$legacy
= false
): bool
Dimensiona uma imagem para as dimensões desejadas com um filtro.
Note: O comportamento do parâmetro
bestfit
mudou na Imagick 3.0.0. Antes desta versão, dadas as dimensões 400x400, uma imagem de dimensões 200x150 permaneceria intocada. Na Imagick 3.0.0 e superiores, a imagem será escalada para 400x300, pois este é o "melhor ajuste" para as dimensões fornecidas. Se o parâmetrobestfit
for usado, tanto a largura quanto a altura devem ser informadas.
Parâmetros
columns
-
Largura da imagem
rows
-
Altura da imagem
filter
-
Consulte a lista de constantes de filtros.
blur
-
O fator de desfoque onde > 1 é desfocado, < 1 é nítido.
bestfit
-
Parâmetro de ajuste opcional.
Valor Retornado
Retorna true
em caso de sucesso.
Registro de Alterações
Versão | Descrição |
---|---|
PECL imagick 2.1.0 | Adicionado parâmetro de ajuste opcional. Este método agora oferece suporte ao dimensionamento proporcional. Passe zero como qualquer parâmetro para dimensionamento proporcional. |
Exemplos
Example #1 Exemplo de Imagick::resizeImage()
<?php
function resizeImage($imagePath, $width, $height, $filterType, $blur, $bestFit, $cropZoom) {
// O fator de desfoque onde > 1 é desfocado, < 1 é nítido.
$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();
}
?>