Foros del Web » Programando para Internet » PHP »

redimensionar imagenes

Estas en el tema de redimensionar imagenes en el foro de PHP en Foros del Web. bueno, pues poco a poco vamos aprendiendo cosillas... a ver. ahora tengo lo siguiente: dispongo de una tabla con estos campos: idpaciente, nombre, apellidos, foto ...
  #1 (permalink)  
Antiguo 31/08/2006, 03:14
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 11 años, 3 meses
Puntos: 0
redimensionar imagenes

bueno, pues poco a poco vamos aprendiendo cosillas... a ver. ahora tengo lo siguiente:
dispongo de una tabla con estos campos: idpaciente, nombre, apellidos, foto

idpaciente es un campo autonumerico y los otros tres de texto. en los dos primeros almaceno los nombres y apellidos y en el tercero almaceno la ruta donde se aloja esa fotografía que previamente ha sido subida a un servidor y se almacena en un directorio llamado fotografias.

el caso es el siguiente: la imagen que se sube al directorio fotografias tan sólo tiene como requisito obligatorio que sea jpg y con un peso en kb determinado. en lo demás, no hay límites, es decir, hay imágenes con unas dimensiones de 600x400 pixeles y hay otras que únicamente tienen 300x250 pixeles, otras 450x200 etc... vamos, que es indiferente.

el problema viene que esas dimensiones quiero que permanezcan pero en la sección donde aparece el apartado fotografia aparezca la fotografia más pequeña pero sin perder calidad y luego cuando se clickee en ella, ya aparezca en su tamaño normal. ojo, que no es una galería de imágenes, eh? cada paciente tiene su ficha donde aparece su foto. ahí es donde quiero que la fotografía salga en pequeño pero sin perder calidad. alguna idea?
  #2 (permalink)  
Antiguo 31/08/2006, 04:37
Avatar de Bytevamp  
Fecha de Ingreso: junio-2005
Ubicación: /var/www/
Mensajes: 789
Antigüedad: 12 años, 5 meses
Puntos: 7
Creando thumbnails, pasate por las Faq's, alli tienes un par de ejemplos.

Saludos.
__________________
"zankius veri mach" a todos los que me habeis ayudado.
carteles para inmobiliarias || alquiler de coches
  #3 (permalink)  
Antiguo 31/08/2006, 08:48
Avatar de skaperna  
Fecha de Ingreso: marzo-2005
Ubicación: Barcelona
Mensajes: 84
Antigüedad: 12 años, 8 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...
  #4 (permalink)  
Antiguo 01/09/2006, 10:03
 
Fecha de Ingreso: agosto-2006
Mensajes: 91
Antigüedad: 11 años, 3 meses
Puntos: 0
hola. gracias por tu respuesta. podrías explicarme un poco el código. no logro adaptarlo a lo que yo pretendo. me lio con las variables y demás. por favor, te lo agradeceré enormemente. gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 08:01.