Ver Mensaje Individual
  #3 (permalink)  
Antiguo 31/08/2006, 07:48
Avatar de skaperna
skaperna
 
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 21 años, 7 meses
Puntos: 1
Hola,

yo me encontré una vez con un problema parecido... esta es una solución:

Código PHP:

function redimensionar($type, $img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad)
{

    
$defecto = 'img/defecto.jpg';

    if(
file_exists($img_original)) {

        
// crear imagen desde original
        
$type=strtolower($type);
        switch(
$type)
        {
            case 
'jpeg':    $img = ImageCreateFromJPEG($img_original); break;
            case 
'jpg':        $img = ImageCreateFromJPEG($img_original); break;
            case 
'png':        $img = ImageCreateFromPNG($img_original); breaK;
            case 
'gif':        $img = ImageCreateFromGIF($img_original); breaK;
            case 
'wbmp':    $img = ImageCreateFromWBMP($img_original); break;
            default:        
$img = ImageCreateFromJPEG($defecto);    break;
        }

    } else {
            
$img = ImageCreateFromJPEG($defecto); 
    }


    if(!empty(
$img)) {


            
$new_w_R = ImageSX($img);
            
$new_h_R = ImageSY($img);

            
$img_nueva_altura = 50;


            
// se calcula la relación alto/ancho
            
$aspect_ratio = $new_h_R/$new_w_R;

            
// se ajusta al nuevo tamaño
            
$img_nueva_altura = abs($img_nueva_anchura * $aspect_ratio);

            
// crear imagen nueva
            
$thumb = ImageCreateTrueColor($img_nueva_anchura,$img_nueva_altura);

            
// redimensionar imagen original copiandola en la imagen. La imagen se reajustará al nuevo tamaño
            
ImageCopyResampled($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura,ImageSX($img),ImageSY($img));

            
// guardar la imagen redimensionada donde indica $img_nueva
            
ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);
        }


}

// Ejemplo
redimensionar("jpg","/var/www/html/proyecto/imagen.jpg","/var/www/html//proyecto/mini_imagen.jpg",50,50,95); 

En este caso, esto te crea el thumbnail, pero tb puedes modificar la ultima parte para que no la guarde y te la cree en el aire.

Espero que te sirva!!!

Skaperna
__________________
La sangre son las lágrimas del alma...