Ver Mensaje Individual
  #3 (permalink)  
Antiguo 08/05/2008, 13:20
Avatar de Atomycko
Atomycko
 
Fecha de Ingreso: diciembre-2005
Ubicación: Zapopan Jal.
Mensajes: 92
Antigüedad: 18 años, 4 meses
Puntos: 12
Re: ayuda + redimencionar imagen antes de subirla

Saludos!

Asi es, primero nescecitas asegurarte de tener las librerias GD, ya que las tengas intenta esto.

Crea la siguiente funcion en el archivo upload.php
Código PHP:
<?php
function redimensionar($imagen$nombre_imagen_asociada){
 
//directorio donde se va la imagen
 
$directorio 'imagenes/' ;
 
//limites de ancho y alto
 
$nuevo_ancho 100 
 
$nuevo_alto 100 
 
//informacion de la imagen
 
$info_imagen getimagesize($imagen); 
 
$alto $info_imagen[1];
 
$ancho $info_imagen[0];
 
$tipo_imagen $info_imagen[2];
 
//Determina las nuevas medidas
 
if($ancho $nuevo_ancho OR $alto $nuevo_alto){ 
  if((
$alto $nuevo_alto) > ($ancho $nuevo_ancho)){ 
   
$nuevo_ancho round($ancho $nuevo_alto $alto,0);
  }else{
   
$nuevo_alto round($alto $nuevo_ancho $ancho,0);
  }
 }else{ 
  
//si la imagen es mas pequeña se queda igual
  
$nuevo_alto $alto
  
$nuevo_ancho $ancho
 } 
 
//dependiendo del tipo de imagen usar diferente funcion
 
switch ($tipo_imagen){ 
  case 
1//si es gif ... 
  
$imagen_nueva imagecreate($nuevo_ancho$nuevo_alto);
  
$imagen_vieja imagecreatefromgif($imagen);
  
//cambio de tamaño... 
  
imagecopyresampled($imagen_nueva$imagen_vieja0000$nuevo_ancho$nuevo_alto$ancho$alto); 
  if (!
imagegif($imagen_nueva$directorio $nombre_imagen_asociada)) return false
  break; 
            
  case 
2//si es jpeg ... 
  
$imagen_nueva imagecreatetruecolor($nuevo_ancho$nuevo_alto); 
  
$imagen_vieja imagecreatefromjpeg($imagen); 
  
//cambio de tamaño... 
  
imagecopyresampled($imagen_nueva$imagen_vieja0000$nuevo_ancho$nuevo_alto$ancho$alto); 
  if (!
imagejpeg($imagen_nueva$directorio $nombre_imagen_asociada)) return false
  break; 
            
  case 
3//si es png ... 
  
$imagen_nueva imagecreatetruecolor($nuevo_ancho$nuevo_alto); 
  
$imagen_vieja imagecreatefrompng($imagen); 
  
//cambio de tamaño... 
  
imagecopyresampled($imagen_nueva$imagen_vieja0000$nuevo_ancho$nuevo_alto$ancho$alto); 
  if (!
imagepng($imagen_nueva$directorio $nombre_imagen_asociada)) return false
  break; 
 }
 return 
true//si todo ha ido bien

?>
Despues, al final de tu funcion de upload, ya que halla subido la imagen, aplicas la funcion anterior.
Código PHP:
/// Supongamos que subiste la imagen al directorio "imagenes/"
/// y que el nombre de la imagen le diste el valor "$imagen"
redimensionar("imagenes/$imagen","nuevo_nombre.jpg"); 
Bueno, pues espero que te funcione. Saludos!
__________________
PD: Los acentos fueron secuestrados.