Ver Mensaje Individual
  #4 (permalink)  
Antiguo 11/05/2009, 08:52
Avatar de Ryo
Ryo
 
Fecha de Ingreso: marzo-2008
Ubicación: Bilbao
Mensajes: 269
Antigüedad: 16 años, 1 mes
Puntos: 14
Respuesta: Aceptar imagenes segun su dimension

Cita:
Iniciado por cesarpunk Ver Mensaje
y porque mejor aceptas cualquier imagen y le generas un thumbnail con las dimensiones deseadas, obviamente en tu formulario debes advertir que para una mejor resolucion debe usar una imagen de tamaño especifico
Sería la mejor opción en casi todos los casos. Por si te interesa, Nena69, te dejo aquí una función que creé para estos casos:

Código PHP:
function crearThumb$fuente$destino$dim=120$propor=false$forzar=false ) {
        
$tipo_imagen explode"."$fuente );
        
$sizeof count$tipo_imagen ) - 1;
        
$ext strtolower$tipo_imagen[$sizeof] );
        if ( 
$ext == "gif" ) {
            
$fuenteimg = @imagecreatefromgif$fuente );
        }
        elseif ( 
$ext == "png" ) {
            
$fuenteimg = @imagecreatefrompng$fuente );
        }
        else {
            
$fuenteimg = @imagecreatefromjpeg$fuente );
        }
        list( 
$ancho$alto$tipo$atr ) = getimagesize$fuente );
        if ( 
$ancho $dim || $alto $dim || $forzar ) {
            if ( 
$propor ) {
                if ( 
$ancho $alto ) {
                    
$nAncho $dim;
                    
$nAlto $dim/( $ancho/$alto );
                } else {
                    
$nAlto $dim;
                    
$nAncho $dim/( $alto/$ancho );
                }
            } else {
                
$nAncho $dim;
                
$nAlto $dim;
            }
            
$thumb imagecreatetruecolor$nAncho$nAlto );
            
imagecopyresampled$thumb$fuenteimg0000$nAncho$nAlto$ancho$alto );
            
$calidad 100;
            if ( 
$ext == "gif" ) { 
                
imagegif$thumb$destino$calidad); 
            } 
            elseif ( 
$ext == "png" ) {
                
imagepng$thumb$destino$calidad);
            }
            else {
                
imagejpeg$thumb$destino$calidad);
            }
        }
    } 
Los parámetros son estos:
Fuente: String con la ruta de la imagen que quieres redimensionar. Sube la imagen a tu servidor y obtén su ruta.
Destino: La ruta donde quieres almacenar la imagen. En tu caso creo que te interesa que sea igual que la fuente, así que pásale el mismo valor.
Dim: Dimensión máxima en píxeles. Tal y como diseñé la función el alto máximo y el ancho máximo son iguales, si quieres permitir más ancho que alto o viceversa tendrás que hacer alguna pequeña modificación en la función.
Propor: Booleano que determina si la redimensión debe hacerse de forma proporcional o no. En tu caso le pasaría el valor true.
Forzar: Si se le pasa el valor true, redimensiona también imágenes más pequeñas para que tengan exactamente las dimensiones que desees. En tu caso no creo que sea necesario, así que dejarlo como false sería lo acertado.

Si a alguien le gusta la función pueda usarla y modificarla a su antojo, no me molesta en absoluto.