Ver Mensaje Individual
  #12 (permalink)  
Antiguo 04/01/2008, 20:07
Avatar de hgp147
hgp147
 
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 19 años, 10 meses
Puntos: 36
Re: Redimensionar imágenes

Hola, fijate si te sirve este código:



La variable $archivo es el nombre del archivo que se subio al servidor.



Código PHP:
<?

$destino_imagen 
= "./carpeta/$archivo";



$info_imagen = getimagesize("../temp/$archivo");
$alto = $info_imagen[1];
$ancho = $info_imagen[0];
$tipo_imagen = $info_imagen[2];



$imagen_ancho = 500;
$imagen_alto = 500;


       
if(
$ancho > $imagen_ancho OR $alto > $imagen_alto){

      if((
$alto - $imagen_alto) > ($ancho - $imagen_ancho))
      {
            
$imagen_ancho = round($ancho * $imagen_alto / $alto,0) ;       
      }
else
      {
            
$imagen_alto = round($alto * $imagen_ancho / $ancho,0);   
      }
}

else 
      {
            
$imagen_alto = $alto;
            
$imagen_ancho = $ancho;
      }


// Imagen GIF

if($tipo_imagen == 1){

                
$imagen_nueva = imagecreate($imagen_ancho, $imagen_alto);
                
$imagen_vieja = imagecreatefromgif("../temp/$archivo");

                
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $imagen_ancho, $imagen_alto, $ancho, $alto);
           if (!
imagegif($imagen_nueva, $destino_imagen));

}


// Imagen JPG

if($tipo_imagen == 2){

                
$imagen_nueva = imagecreatetruecolor($imagen_ancho, $imagen_alto);
                
$imagen_vieja = imagecreatefromjpeg("../temp/$archivo");

                
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $imagen_ancho, $imagen_alto, $ancho, $alto);
                if (!
imagejpeg($imagen_nueva, $destino_imagen));

}


// Imagen PNG

if($tipo_imagen == 3){

                
$imagen_nueva = imagecreatetruecolor($imagen_ancho, $imagen_alto);
                
$imagen_vieja = imagecreatefrompng("../temp/$archivo");

                
imagecopyresampled($imagen_nueva, $imagen_vieja, 0, 0, 0, 0, $imagen_ancho, $imagen_alto, $ancho, $alto);
                if (!
imagepng($imagen_nueva, $destino_imagen));

}

?>