Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5
Redimensionar imagenes con PHP y libreria GD
#1
¿Quieres generar un “thumbnail” para tu galería de imágenes? ¿O simplemente quieres redimensionar una imagen para guardarla en un directorio?
Este artículo pretende mostrar lo facil que resulta modificar el tamaño de una imagen en PHP (eso si, manteniendo las proporciones…). Para ello, utilizaremos la librería GD (mas adelante postearà como instalar dicha librería).
Para descargar pulsa en: descargar Script redimensionar imagen php

Explicación

Código: [Seleccionar]
//Ruta de la imagen original
$rutaImagenOriginal="./imagen/aprilia classic.jpg";

//Creamos una variable imagen a partir de la imagen original
$img_original = imagecreatefromjpeg($rutaImagenOriginal);

//Se define el maximo ancho y alto que tendra la imagen final
$max_ancho = 200;
$max_alto = 200;

//Ancho y alto de la imagen original
list($ancho,$alto)=getimagesize($rutaImagenOriginal);

//Se calcula ancho y alto de la imagen final
$x_ratio = $max_ancho / $ancho;
$y_ratio = $max_alto / $alto;


Nota: Con el siguiente fragmento de código, calculamos el ancho y alto que tendrá la imagen final. Importante destacar que se guardan las proporciones de la imagen original.

Código: [Seleccionar]

//Si el ancho y el alto de la imagen no superan los maximos,
//ancho final y alto final son los que tiene actualmente
if( ($ancho <= $max_ancho) && ($alto <= $max_alto) ){//Si ancho
$ancho_final = $ancho;
$alto_final = $alto;
}
/*
* si proporcion horizontal*alto mayor que el alto maximo,
* alto final es alto por la proporcion horizontal
* es decir, le quitamos al ancho, la misma proporcion que
* le quitamos al alto
*
*/
elseif (($x_ratio * $alto) < $max_alto){
$alto_final = ceil($x_ratio * $alto);
$ancho_final = $max_ancho;
}
/*
* Igual que antes pero a la inversa
*/
else{
$ancho_final = ceil($y_ratio * $ancho);
$alto_final = $max_alto;
}

Ya tenemos definido el tamaño final de la imagen, ahora tenemos que redimensionar la imagen proporcionalmente.

Código: [Seleccionar]

//Creamos una imagen en blanco de tamaño $ancho_final por $alto_final .
$tmp=imagecreatetruecolor($ancho_final,$alto_final);

//Copiamos $img_original sobre la imagen que acabamos de crear en blanco ($tmp)
imagecopyresampled($tmp,$img_original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);

//Se destruye variable $img_original para liberar memoria
imagedestroy($img_original);


Por último, tenemos que decidir si queremos mostrar la imagen por pantalla o si queremos guardar la imagen en un directorio.

Guardar la imagen en un directorio

Código: [Seleccionar]
//Definimos la calidad de la imagen final
$calidad=95;
//Se crea la imagen final en el directorio indicado
imagejpeg($tmp,"./imagen/retoque.jpg",$calidad);

Mostrar imagen por pantalla

Código: [Seleccionar]
//Mostrar imagen por pantalla
Header("Content-type: image/jpeg");
imagejpeg($tmp);

Nota: Para más información sobre la libreria GD y sus funciones visita Informacion libreria GD
#2
exelente, buscare mas informacion saludos


Posibles temas similares...
Tema Autor Respuestas Vistas Último mensaje
  [Tutorial] Enviar Emails con la libreria PHPMailer y configurar Gmail amner 2 109 13-03-2017, 02:33 PM
Último mensaje: manuelxd1010
  jQuery: ocultar imágenes rotas FullPirata 10 365 03-01-2017, 09:26 PM
Último mensaje: gassip
  Como subir Archivos, Imagenes PHP MysQL gassip 0 439 24-10-2016, 06:59 AM
Último mensaje: gassip
  Cargar web (con imagenes) mas rapido CarlosAlberto 18 653 08-03-2016, 01:34 AM
Último mensaje: LaaprendizdeCM
  Subir imagenes con PHP y class.upload.php cmascreativo 0 187 18-02-2016, 05:54 PM
Último mensaje: cmascreativo
  Codigo Imágenes que cambian automáticamente tucine 8 639 19-05-2015, 03:36 PM
Último mensaje: betiko2424
Bombilla [PUBLICO] Imágenes con descripción animada CSS3 AngelKrak 1 387 20-01-2015, 06:29 AM
Último mensaje: garcon
  script bueno para secuencia imagenes canpios 7 573 19-12-2014, 06:01 AM
Último mensaje: amplox
  Problema con imagenes othgeg 14 713 01-09-2014, 12:43 AM
Último mensaje: romeho
  No puedo renombrar imágenes con PHP Samo30 6 1,203 16-08-2014, 06:34 AM
Último mensaje: AbaddonOrmuz



Usuarios navegando en este tema: 1 invitado(s)