PHP 8.5.0 Alpha 1 available for testing

imagescale

(PHP 5 >= 5.5.0, PHP 7, PHP 8)

imagescaleRedimensiona una imagen utilizando una altura y una anchura proporcionadas

Descripción

imagescale(
    GdImage $image,
    int $width,
    int $height = -1,
    int $mode = IMG_BILINEAR_FIXED
): GdImage|false

imagescale() redimensiona una imagen utilizando el algoritmo de interpolación dado.

Nota:

A diferencia de muchas otras funciones de imagen, imagescale() no modifica la image proporcionada; en su lugar, se devuelve una nueva imagen.

Parámetros

image

Un objeto GdImage, retornado por una de las funciones de creación de imágenes, como imagecreatetruecolor().

width

La anchura a utilizar para el redimensionamiento de la imagen.

height

La altura a utilizar para el redimensionamiento de la imagen. Si se omite o es negativa, se preservará la relación de aspecto de la imagen.

mode

Una de las constantes IMG_NEAREST_NEIGHBOUR, IMG_BILINEAR_FIXED, IMG_BICUBIC, IMG_BICUBIC_FIXED o cualquier otra (utilizará dos pasadas).

Nota: IMG_WEIGHTED4 aún no está soportado.

Valores devueltos

Devuelve el objeto de la imagen redimensionada en caso de éxito o false si ocurre un error.

Errores/Excepciones

Genera una ValueError si width o height provoca un desbordamiento o un subdesbordamiento.

Genera una ValueError si mode es inválido.

Historial de cambios

Versión Descripción
8.4.0 Ahora genera una ValueError si width o height provoca un desbordamiento o un subdesbordamiento.
8.4.0 Ahora genera una ValueError si mode es inválido.
8.0.0 En caso de éxito, esta función devuelve ahora una instancia de GDImage; anteriormente, se devolvía un resource.
8.0.0 image expects a GdImage instance now; previously, a valid gd resource was expected.

Ver también

add a note

User Contributed Notes 2 notes

up
9
Anonymous
2 years ago
Seemingly, you can't omit the width the same way you do with the height. If you write -1 for the width and specify a number for the height it will return false
up
0
cognettings at gmail dot com
3 months ago
To resize height without specifying a width you can rotate the image by 90 degrees, resize, then rotate by 270 degrees.

$outputImage = imagerotate($image, 90, 0);
$outputImage = imagescale($outputImage, $minSize);
$outputImage = imagerotate($outputImage, 270, 0);
To Top