Archives for Resize

Redimensionar una imagen en PHP

Este es un mecanismo que utilizamos constantemente y cada vez que lo necesitamos recorremos algunas webs para encontrar la forma mas rápida y que se adapte a nuestro desarrollo.
Hoy les voy a mostrar una forma muy simple de poder cambiar el tamaño de una imagen con muy poco código y utilizando la librería GD que por lo general está preinstalada en todos los hostings.

//Ruta de la imagen original
$rutaImagenOriginal="./imagen/aprilia classic.jpg";
$img_original = imagecreatefromjpeg($rutaImagenOriginal);
//Defino los valores maximos
$max_ancho = 200;
$max_alto = 200;
//Tomo el valor original de la imagen
list($ancho,$alto)=getimagesize($rutaImagenOriginal);
$x_ratio = $max_ancho / $ancho;
$y_ratio = $max_alto / $alto;

Determinamos la proporción de la imagen

if( ($ancho <= $max_ancho) && ($alto <= $max_alto) ){//Si ancho
$ancho_final = $ancho;
$alto_final = $alto;
}

elseif (($x_ratio * $alto) < $max_alto){
$alto_final = ceil($x_ratio * $alto);
$ancho_final = $max_ancho;
}

else{
$ancho_final = ceil($y_ratio * $ancho);
$alto_final = $max_alto;
}

Ahora redimensionamos la imagen

$tmp=imagecreatetruecolor($ancho_final,$alto_final);
imagecopyresampled($tmp,$img_original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);
imagedestroy($img_original);

Ahora guardamos la imagen y la mostramos en pantalla.

$calidad=95;
imagejpeg($tmp,"./imagen/retoque.jpg",$calidad);
Header("Content-type: image/jpeg");
imagejpeg($tmp);

Espero les sirva. Recuerden, contesto todos los comentarios.