Cambiar el tamaño de la imagen en PHP

Cambiar el tamaño de la imagen en PHP
Las imágenes son una parte importante de cualquier sitio web moderno. No podemos imaginar ningún sitio web sin ninguna imagen ahora. Se requiere la imagen para cambiar el tamaño para mostrar la página web correctamente y el tamaño de la imagen es necesario para cambiar en función de la pantalla del dispositivo. Hay muchas formas de cambiar el tamaño de una imagen. El La etiqueta del HTML tiene un altura y ancho Atributo para cambiar el tamaño de cualquier imagen, pero el tamaño de la imagen sigue siendo fijo para todos los tipos de dispositivos en este caso. PHP tiene muchas funciones incorporadas para cambiar el tamaño de la imagen en el momento de la ejecución. Los usos de diferentes funciones de PHP para cambiar el tamaño de la imagen se han mostrado en este tutorial.

Funciones para cargar imagen

La imagen requiere cargar en el script antes de cambiar el tamaño. Existen muchas funciones incorporadas en PHP para cargar diferentes tipos de imágenes. Algunas funciones de uso común se mencionan a continuación.

  • imageCreateFromJpeg () - Se usa para cargar la imagen del formato JPEG.
  • imageCreatefrompng () - Se usa para cargar la imagen del formato PNG.
  • imageCreateFromGif () - Se usa para cargar la imagen del formato GIF.

Función requerida para cambiar el tamaño de la imagen

El getImagesize () La función se utiliza para recuperar la información necesaria de cualquier imagen que se utilizará para cambiar el tamaño de la imagen. Devuelve una variedad de siete elementos. Se requieren principalmente los tres primeros índices para cambiar el tamaño de la imagen y estos índices contienen el ancho, la altura y el tipo de imagen. PHP tiene muchos tipos de funciones incorporadas para cambiar el tamaño de una imagen y cualquiera de ellos puede usarse en función del valor devuelto del getImagesize () función.

Requisitos previos

La biblioteca GD de PHP se ha utilizado en este tutorial para cargar y cambiar el tamaño de la imagen. Tienes que instalar esta biblioteca y habilitar el gd extensión en el php.ini archivo antes de probar el script de este tutorial.

1. Ejecute los siguientes comandos para actualizar el sistema e instalar la biblioteca GD de PHP.

$ sudo apt-get actualización
$ sudo apt-get install php-gd

2. Abra el PHP.archivo ini desde /etc/php/8.0/apache2/php.ini Ubicación y retire el punto y coma (;) desde la parte delantera de la siguiente línea.

extensión = GD2

Ejemplos de imágenes de cambio de tamaño

Los usos de algunas funciones de cambio de tamaño incorporadas de PHP han demostrado en esta parte del tutorial para saber la forma de cambiar el tamaño de una imagen utilizando el script PHP.

Ejemplo-1: cambiar el tamaño de la imagen usando imageCrop () función
Cree un archivo PHP con el siguiente script para cambiar el tamaño de la imagen utilizando ImageCrop () función que se utiliza para recortar la imagen. Después de ejecutar el siguiente script, la imagen original y las imágenes recortadas se mostrarán en el navegador.

// Establecer la ruta de la imagen original
$ orginal_filename = "Images/Bird1.jpg ";
// Establecer la ruta de la imagen modificada
$ modificado_filename = "Images/Bird11.jpg ";
// Inicializar una variable para verificar el formato de imagen compatible
$ imgformat = true;
// Obtener los valores de ancho, altura y tipo de la imagen original
lista ($ ancho, $ altura, $ type) = getImagesize ($ orginal_filename);
if ($ type == imageType_jpeg)
$ img = imageCreateFromJpeg ($ orginal_filename);
Elseif ($ type == imageType_png)
$ img = imageCreatefrompng ($ orginal_filename);
Elseif ($ type == imageType_gif)
$ img = imageCreateFromGif ($ orginal_filename);
demás
$ imgformat = false;
if ($ imgformat)

// Mostrar la imagen original
eco "";
// recorte la imagen basada en el argumento utilizado en la función imageCrop ()
$ img_crop = imageCrop ($ img, ['x' => 10, 'y' => 10, 'ancho' => $ ancho-100, 'altura' => $ altura-100]);
// crear un nuevo archivo de imagen modificado
ImageJpeg ($ img_crop, $ modificado_filename);
iMageDestroy ($ img_crop);
// Mostrar la imagen modificada
eco "";

demás
El formato de imagen de eco "no es compatible."
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La imagen modificada muestra la imagen recortada basada en los valores utilizados ImageCrop () función.

Ejemplo-2: cambiar la imagen con la función imageCopyResized ()
Cree un archivo PHP con el siguiente script para cambiar el tamaño de la imagen usando la función imageCopyResize (). Esta función toma diez valores de argumento para cambiar el tamaño de la imagen y devuelve verdadero para cambiar el tamaño de la imagen con éxito, de lo contrario devuelve falso. Después de ejecutar el siguiente script, la imagen original y las imágenes recortadas se mostrarán en el navegador.

// Establecer la ruta de la imagen original
$ orginal_filename = "Images/Bird2.jpg ";
// Establecer la ruta de la imagen modificada
$ modificado_filename = "Images/Bird22.jpg ";
// Obtener los valores de ancho, altura y tipo de la imagen original
lista ($ ancho, $ altura, $ type) = getImagesize ($ orginal_filename);
// Mostrar la imagen original
eco "";
// Establecer la altura y el ancho de la nueva imagen
$ n_width = $ ancho+100;
$ n_Height = $ altura+100;
$ img = imageCreateFromJpeg ($ orginal_filename);
$ nimg = imageCreateTruecolor ($ n_width, $ n_height);
// cambiar el tamaño de la imagen en función de los argumentos utilizados en la función imageCopyResized ()
imageCopyResized ($ nimg, $ img, 0, 0, 0, 0, $ n_width, $ n_height, $ ancho, $ altura);
// crear un nuevo archivo de imagen modificado
ImageJpeg ($ NIMG, $ modificado_filename);
iMageDestroy ($ NIMG);
// Mostrar la imagen modificada
eco "";

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que la altura y el ancho de la imagen modificada han aumentado en 100 píxeles.

Ejemplo-3: redimensione la imagen usando imageCopyResampled () Función
Cree un archivo PHP con el siguiente script para cambiar el tamaño de la imagen utilizando la función imageCopyResampled (). Esta función toma diez valores de argumentos para cambiar el tamaño de la imagen como imageCopyResized () función. Devuelve verdadero para cambiar el tamaño de la imagen con éxito, de lo contrario devuelve falso. Después de ejecutar el siguiente script, la imagen original y las imágenes recortadas se mostrarán en el navegador.

// Establecer la ruta de la imagen original
$ orginal_filename = "Images/Bird4.jpg ";
// Establecer la ruta de la imagen modificada
$ modificado_filename = "Images/Bird44.jpg ";
// Mostrar la imagen original
eco "";
// Obtener nuevas dimensiones
list ($ ancho, $ altura) = getImageSize ($ orginal_filename);
$ nwidth = $ ancho * 2;
$ nheight = $ altura * 2;
// vuelve a muestrear la imagen
$ nimg = imageCreateTruecolor ($ nwidth, $ nheight);
$ img = imageCreateFromJpeg ($ orginal_filename);
ImageCopyResampled ($ NIMG, $ img, 0, 0, 0, 0, $ nwidth, $ nheight, $ ancho, $ altura);
// Crear el nuevo archivo de imagen
ImageJpeg ($ NIMG, $ modificado_filename);
iMageDestroy ($ NIMG);
// Mostrar la imagen modificada
eco "";
?>

Producción:

La siguiente salida aparecerá después de ejecutar el script anterior. La salida muestra que la imagen modificada se ha cambiado para duplicar la imagen original.

Conclusión

Existen muchas funciones incorporadas en PHP para cambiar el tamaño de una imagen de múltiples maneras. Los usos de tres funciones se han mostrado en los ejemplos de este tutorial para ayudar a los usuarios de PHP a conocer la forma de cambiar el tamaño de una imagen en PHP.