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
(PHP 5 >= 5.5.0, PHP 7, PHP 8)
imagescale — Redimensiona una imagen utilizando una altura y una anchura proporcionadas
$image
,$width
,$height
= -1,$mode
= IMG_BILINEAR_FIXED
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.
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.
Devuelve el objeto de la imagen redimensionada en caso de
éxito o false
si ocurre un error.
Genera una ValueError si width
o height
provoca un desbordamiento o un subdesbordamiento.
Genera una ValueError si mode
es inválido.
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.
|
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
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);