Mostrando las entradas con la etiqueta jpg. Mostrar todas las entradas
Mostrando las entradas con la etiqueta jpg. Mostrar todas las entradas

lunes, 13 de febrero de 2023

Redimensionar una imagen cargada en un form con PHP

 


Usa esta función:

function resize($img, $path, $width, $height)

{

    list($width_orig, $height_orig) = getimagesize($img);

    $ratio_orig = $width_orig / $height_orig;


    if ($width / $height > $ratio_orig) {

        $width = $height * $ratio_orig;

    } else {

        $height = $width / $ratio_orig;

    }


    $image_p = imagecreatetruecolor($width, $height);

    $image = imagecreatefromjpeg($img);

    imagecopyresampled($image_p, $image, 0, 0, 0, 0, $width, $height, $width_orig, $height_orig);

    imagejpeg($image_p, $path, 70);

}


Ejemplo:

resize($tmp_archivo, $path, '500', '500');


Donde $tmp_archivo es el archivo que se encuentra en el servidor cargado desde el form y $path es la ruta junto con el nombre del archivo donde se desea la copia redimensionada.

Los dos últimos parámetros son literales que indican el tamaño del archivo redimensionado.

El código calcula la relación de aspecto de la imagen original y la mantiene al redimensionarla. Luego, crea una nueva imagen con las dimensiones especificadas y copia los datos de la imagen original en ella, reescalándolos al mismo tiempo.