(PECL imagick 2.0.0)
Imagick::resizeImage — Escala una imagen
$columns
, int $rows
, int $filter
, float $blur
[, bool $bestfit
= false
] )Escala una imagen a las dimensiones deseadas con un filtro.
Nota: La conducta del parámetro
bestfit
cambió en Imagick 3.0.0. Antes de esta versión dar la dimensión de 400x400 a una imagen de 200x150 debería no tener efecto. En Imagick 3.0.0 y superiores la imagen sería llevada al tamaño de 400x300 ya que este es el "mejor ajuste" para las dimensiones dadas. Si el parámetrobestfit
es utilizado, se debe indicar tanto el ancho como el alto.
columns
Ancho de la imagen
rows
Alto de la imagen
filter
Consulte la lista de constantes de filtro.
blur
El factor de borrosidad donde > 1 es borroso, < 1 es nítido.
bestfit
Parámetro de ajuste opcional.
Devuelve TRUE
en caso de éxito.
Versión | Descripción |
---|---|
2.1.0 | Añadido el parámetro opcional de ajuste. Este método ahora soporta escalas proporcionales. Pase cero como parámetro para escalar proporcionalmente. |
Ejemplo #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();
}
?>