Ver Mensaje Individual
  #10 (permalink)  
Antiguo 18/11/2004, 03:33
Avatar de mariogl84
mariogl84
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona
Mensajes: 433
Antigüedad: 21 años, 5 meses
Puntos: 20
Aquí va:

Código PHP:
// Archivos
$nombre_foto='foto_prueba.jpg';
$nombre_thumbnail='thumb_prueba.jpg';

// Dimensiones del thumbnail
$ancho_thumbnail=120;
$alto_thumbnail=100;


// Cargamos la fotografía y guardamos sus dimensiones y ratio
$foto_entera=imagecreatefromjpeg($ruta.$nombre_foto);
$ancho_foto=imagesx($foto_entera);
$alto_foto=imagesy($foto_entera);
$ratio_foto=$ancho_foto/$alto_foto;
        
// Creamos una imagen con fondo blanco para el thumbnail
$thumbnail=imagecreatetruecolor($ancho_thumbnail,$alto_thumbnail);
$fondo=imagecolorallocate($thumbnail255255255);    
imagefill($thumbnail00$fondo); 

// Creamos el thumbnail y lo grabamos
imagecopyresampled($thumbnail,$foto_entera,0,0,0,0,$ancho_thumbnail,($ancho_thumbnail/$ratio_foto),$ancho_foto,$alto_foto);
imagejpeg($thumbnail,$ruta.$nombre_thumbnail,100); 

Lo que hace es cargar una fotografía de las dimensiones que sean, y crea con ella un thumbnail de 120x100. Si la fotografía no tiene esta misma proporción, una de las dos dimensiones se recortará (si es más grande) o se quedará corta (si es más pequeña). En este último caso, el hueco que sobra se rellenará de blanco. Esto se ha hecho así porque las fotos que se van a meter en esta aplicación son de coches sobre fondo blanco, y así no se nota el hueco sobrante. Supongo que este código se puede optimizar para que, en caso de que sobre hueco, sobre tanto por arriba como por abajo y así la foto queda centrada.

Mario.