(PECL imagick 2, PECL imagick 3)
Imagick::resizeImage — Escala una imagen
$columns,$rows,$filter,$blur,$bestfit = false,$legacy = falseEscala una imagen a las dimensiones deseadas con un filtro.
Nota: El comportamiento del parámetro
bestfitcambió con Imagick 3.0.0. Antes de esta versión, proporcionar las dimensiones 400x400 a una imagen de dimensiones 200x150 hacía que la parte izquierda permaneciera sin cambios. Con Imagick 3.0.0 y posteriores, la imagen se reduce al tamaño 400x300, siendo este el mejor resultado para esas dimensiones. Si el parámetrobestfites utilizado, la anchura y la altura deben ser proporcionadas.
columnsAncho de la imagen
rowsAlto de la imagen
filterConsulte la lista de constantes de filtro.
blurEl factor de borrosidad donde > 1 es borroso, < 1 es nítido.
bestfitParámetro de ajuste opcional.
Devuelve true en caso de éxito.
| Versión | Descripción |
|---|---|
| PECL imagick 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();
}
?>