Imagick::resizeImage

(PECL imagick 2.0.0)

Imagick::resizeImageEscala una imagen

Descripción

Imagick::resizeImage ( int $columns , int $rows , int $filter , float $blur [, bool $bestfit = false ] ) : bool

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ámetro bestfit es utilizado, se debe indicar tanto el ancho como el alto.

Parámetros

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.

Valores devueltos

Devuelve TRUE en caso de éxito.

Historial de cambios

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.

Ejemplos

Ejemplo #1 Imagick::resizeImage()

<?php
function resizeImage($imagePath$width$height$filterType$blur$bestFit$cropZoom) {
    
//The blur factor where &gt; 1 is blurry, &lt; 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();
}

?>