Ver Mensaje Individual
  #7 (permalink)  
Antiguo 10/12/2011, 14:11
ocp001a
Colaborador
 
Fecha de Ingreso: mayo-2008
Ubicación: $MX['VZ']['Xalapa']
Mensajes: 3.005
Antigüedad: 16 años, 6 meses
Puntos: 528
Respuesta: Galeria de imagenes php

Claro que es posible, al momento de haber completado el upload, verificas si el archivo es de imagen, si lo es llamas a esta función, por ejemplo así:

Código PHP:
Ver original
  1. redimensionar_imagen($imagen_usuario,'th.'.$imagen_usuario,'imagenes',100,100);
  2.  
  3. function redimensionar_imagen($imagen, $nombre_imagen_asociada,$directorio,$nuevo_ancho,$nuevo_alto){
  4.     $directorio=utf8_encode($directorio);
  5.     $imagen=utf8_encode($imagen);
  6.     $nombre_imagen_asociada=utf8_encode($nombre_imagen_asociada);
  7.     if(!file_exists("$directorio/$imagen"))
  8.         die("Error: no existe $directorio/$imagen");
  9.     $info_imagen = getimagesize("$directorio/$imagen");
  10.     $alto = $info_imagen[1];
  11.     $ancho = $info_imagen[0];
  12.     $tipo_imagen = $info_imagen[2];
  13.     if($ancho > $nuevo_ancho OR $alto > $nuevo_alto){
  14.         if(($alto - $nuevo_alto) > ($ancho - $nuevo_ancho))
  15.             $nuevo_ancho = round($ancho * $nuevo_alto / $alto,0) ;      
  16.         else
  17.             $nuevo_alto = round($alto * $nuevo_ancho / $ancho,0);  
  18.     }
  19.     else{
  20.             $nuevo_alto = $alto;
  21.             $nuevo_ancho = $ancho;
  22.     }
  23.     switch ($tipo_imagen) {
  24.         case 1: //si es gif ?
  25.             $imagen_nueva = imagecreate($nuevo_ancho, $nuevo_alto);
  26.             $imagen_vieja = imagecreatefromgif("$directorio/$imagen");
  27.             imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
  28.             if (!imagegif($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
  29.         break;
  30.         case 2: //si es jpeg ?
  31.             $imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
  32.             $imagen_vieja = imagecreatefromjpeg("$directorio/$imagen");
  33.             imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
  34.             if (!imagejpeg($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
  35.         break;
  36.         case 3: //si es png ?
  37.             $imagen_nueva = imagecreatetruecolor($nuevo_ancho, $nuevo_alto);
  38.             $imagen_vieja = imagecreatefrompng("$directorio/$imagen");
  39.             imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $nuevo_ancho, $nuevo_alto, $ancho, $alto);
  40.             if (!imagepng($imagen_nueva, $directorio . $nombre_imagen_asociada)) return false;
  41.         break;
  42.     }
  43.     return true;
  44. }

Con esto tendrías la miniatura de la imagen con las letras th. al inicio, de modo que si la imagen se llama sol.jpg su miniatura se llamaría th.sol.jpg y mediría máximo 100 pixeles de ancho o alto