Imagick::scaleImage
PHP Manual
PHP Manual»Imagick»Imagick::scaleImage

Imagick::scaleImage

(PECL imagick 2, PECL imagick 3)

Imagick::scaleImage — Redimensiona la imagen a una escala específica

Descripción

public function Imagick::scaleImage(
    int $columns,
    int $rows,
    bool $bestfit = false,
    bool $legacy = false
): bool

Redimensiona la imagen a las dimensiones especificadas. En caso de que alguno de los parámetros sea igual a 0, este será calculado automáticamente.

Nota:

El comportamiento del parámetro bestfit cambió 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ámetro bestfit es utilizado, la anchura y la altura deben ser proporcionadas.

Parámetros

columns

El ancho de la imagen escalada.

rows

El alto de la imagen escalada.

bestfit

Si se establece en true y las dimensiones proporcionadas son menores que las dimensiones de la imagen, la imagen se reducirá para ajustarse dentro del cuadro delimitador. Si se establece en false o si la imagen ya es más pequeña que el cuadro delimitador, la imagen no se escalará.

legacy

El parámetro legacy fue añadido en PECL imagick 3.4.0. Se realizaron cambios en el comportamiento de bestfit cuando el parámetro legacy es true. Consulte el registro de cambios para más información.

Valores devueltos

Devuelve true en caso de éxito.

Errores/Excepciones

Lanza una ImagickException en caso de error.

Historial de cambios

Versión Descripción
PECL imagick 3.4.0 Se añadió el parámetro legacy.
PECL imagick 2.1.0 Se añadió un parámetro opcional de ajuste. Este método soporta ahora el redimensionamiento proporcional. Pase cero en uno de los parámetros para activar esta opción.

Ejemplos

Ejemplo #1 Ejemplo con Imagick::scaleImage()

<?php
function scaleImage($imagePath) {
    $imagick = new \Imagick(realpath($imagePath));
    $imagick->scaleImage(150, 150, true);
    header("Content-Type: image/jpg");
    echo $imagick->getImageBlob();
}

?>

To Top