(PECL imagick 2.0.0)
Imagick::resizeImage — Escala una imagen
$columns
, int $rows
, int $filter
, float $blur
[, bool $bestfit = false
] ) : boolEscala una imagen a las dimensiones deseadas con un filtro.
Nota: La conducta del parámetro
bestfitcambió 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ámetrobestfites utilizado, se debe indicar tanto el ancho como el alto.
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 |
|---|---|
| 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();
}
?>