Foros del Web » Programando para Internet » PHP »

Tratamiento de imagenes

Estas en el tema de Tratamiento de imagenes en el foro de PHP en Foros del Web. Hoy si tengo un problema fuerte con el tratamiento de imagenes. Al hacer el registro de usuarios, mediante un upload cargo la imagen y lo ...
  #1 (permalink)  
Antiguo 17/07/2006, 11:47
 
Fecha de Ingreso: diciembre-2003
Ubicación: Campehce, Mexico
Mensajes: 325
Antigüedad: 20 años, 4 meses
Puntos: 0
Tratamiento de imagenes

Hoy si tengo un problema fuerte con el tratamiento de imagenes.
Al hacer el registro de usuarios, mediante un upload cargo la imagen y lo guardo en la base de datos
Código HTML:
  imagen longblob NOT NULL,
  tipo varchar(50) NOT NULL default '',
Bien, la foto se guarda con el tamaño real, ahora viene un problema, cada usuario envia de diferente tamaño su foto, entonces al mostrarle su perfil, si le pongo un tamaño predeterminado de 100*100, si es una imagen tipo vertical la foto se veria feisima y tambien viceversa.
Si pongo el tamaño real, si es una foto demasiada grande me distorsionaria la página.

Alguien podria darme una solucion para que si es una imagen vertical me sake un thumnail tipo vertical, y si es una imagen cuadrada y muy grande la deje cuadrada y reducida, osea visualizar la misma imagen pero en tamaño chico con sus dimensiones mismas...


Espero alguien me pueda orientar
  #2 (permalink)  
Antiguo 17/07/2006, 12:37
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 5 meses
Puntos: 11
Simplemente guarda las dimensiones de la imagen y luego, al mostrar aplicas un factor de escalamiento.
Aqui tienes las funciones GD que pueden ayudarte a resolver el tema:

http://cl2.php.net/manual/es/function.getimagesize.php
  #3 (permalink)  
Antiguo 17/07/2006, 12:38
 
Fecha de Ingreso: julio-2005
Mensajes: 127
Antigüedad: 18 años, 9 meses
Puntos: 0
Puedes usar alguna clase que redimensione las imágenes dinámicamente y luego guardar la imágen redimencionada en el servidor.

Busca en google, si no lo hayas avisame
  #4 (permalink)  
Antiguo 18/07/2006, 22:51
 
Fecha de Ingreso: diciembre-2003
Ubicación: Campehce, Mexico
Mensajes: 325
Antigüedad: 20 años, 4 meses
Puntos: 0
Estuve checando sobre la función getimagesize y encontre que el array 1 es el ancho, el dos el alto y el tres el tipo de imagen.
Me puse a pensar como lo aría logicamente en realidad no encontre la solución.

Alguien podria ayudarme a pensar logicamente para llegar a la solución del problema o como dices, alguna clase que haga lo mismo??
  #5 (permalink)  
Antiguo 19/07/2006, 02:13
Avatar de djreficul  
Fecha de Ingreso: julio-2006
Ubicación: Cork
Mensajes: 672
Antigüedad: 17 años, 9 meses
Puntos: 0
Pues yo hago esto para redimensionar las imagenes:

Código PHP:
<?php
//Defino el alto y el ancho maximo
$ancho_maximo=320;
$alto_maximo=240;
//Obtengo los atributos
list($ancho$alto$tipo$atr)=getimagesize($rutaimagen);
//Los copio a la variable final para seguir teniendo el tamaño original
$anchura=$ancho;
$altura=$alto;
//Con el siguiente bucle divido ambas variables por una constante hasta q por fin el tamaño se ajuste a los maximos que deseo que tengan
$j=2;
while (
$anchura>$ancho_maximo || $altura>$alto_maximo) {
    
$anchura=ceil($ancho/$j);
    
$altura=ceil($alto/$j);
    
$j++;
}
//Finalmente muestro la imagen
?>
<img src="<?php echo $rutaimagen?>" border="0" width="<?php echo $anchura?>" height="<?php echo $altura?>">
Con esto consigo q se redimensione la imagen sin distorsionarla. Espero q te sirva.
__________________
La muerte es un camino que todos debemos recorrer...
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:30.