Ver Mensaje Individual
  #5 (permalink)  
Antiguo 09/02/2009, 09:05
Avatar de JoseAlejandro_Realza
JoseAlejandro_Realza
 
Fecha de Ingreso: agosto-2008
Ubicación: Maracay - Venezuela
Mensajes: 192
Antigüedad: 15 años, 8 meses
Puntos: 2
Respuesta: Problemas con redimensionamiento de imagenes

Hola que tal... yo estoy interesado en este tema, porque necesito que cuando mis usuarios vayan a subir sus fotos a su perfil si la imagen pasa un limite de px se redusca, intente con el script que dio el amigo Raul y no logro hacerlo funcionar, porque no me carga las imagenes a la carpeta "fotogracias/", y si meto imagenes png o gif igual hace todo como si la cargara, no me presenta errores ni nada, asi que algo no debe estar trabajando, y la diferencia es que yo no quiero seleccionarla por marca, solo quiero cargarla al directorio y cambiar sus dimensiones... Gracias por Todo, espero sepan ayudarnos..! =)

Aca esta el Codigo cambiandole la direccion del directorio:

Código PHP:
<?php

function abrir_Imagen($imagen) { 
    if (@
$info_imagen getimagesize($imagen)) { 
        switch (
$info_imagen['mime']) { 
        case 
"image/jpeg"
            if (!@
$imagen_fuente imagecreatefromjpeg($imagen)) { 
                return 
0
            } 
            break; 
        case 
"image/gif"
            if (!@
$imagen_fuente imagecreatefromgif($imagen)) { 
                return 
0
            } 
            break; 
        case 
"image/png"
            if (!@
$imagen_fuente imagecreatefrompng($imagen)) { 
                return 
0
            } 
            break; 
        } 
    } else { 
        return 
0
    } 
    return 
$imagen_fuente

  
function 
crear_Thumbnail($imagen$ancho_max 500$alto_max 500$calidad 80$destino "Galerias/"$marca ""$posicion_marca 0$margen 4) { 
  
    if (
$destino == "Galerias/") { 
        
header('Content-type: image/jpeg'); 
    } 
  
    
//    OBTENGO LOS DATOS ORIGINALES DE LA IMAGEN Y CHEQUEO QUE SEA UNA IMAGEN VALIDA 
    
if (@$datos_img getimagesize($imagen)) { 
        
$ancho $datos_img[0]; 
        
$alto $datos_img[1]; 
         
         
        
$ancho_orig $ancho
        
$alto_orig $alto
         
        
//    CALCULO ANCHO Y ALTO PROPORCIONALES 
        
if ($ancho $ancho_max) { 
            
$proporcion round(($ancho_max 100) / $ancho); 
            
$ancho $ancho_max
            
$alto round(($alto $proporcion) / 100); 
        } 
        if (
$alto $alto_max) { 
            
$proporcion round(($alto_max 100) / $alto); 
            
$alto $alto_max
            
$ancho round(($ancho $proporcion) / 100); 
        } 
         
        
//    CREO LA NUEVA IMAGEN 
        
$imagen_nueva imagecreatetruecolor($ancho$alto); 
         
        
//    ABRO LA IMAGEN FUENTE 
        
if (!$imagen_fuente abrir_Imagen($imagen)) { 
            return 
0
            exit; 
        } 
         
        
//    COPIO LA IMAGEN FUENTE EN LA NUEVA 
        
imagecopyresampled($imagen_nueva$imagen_fuente0000$ancho$alto$ancho_orig$alto_orig); 
         
        
//    CHEQUEO SI HAY QUE AGREGAR UNA MARCA 
        
if (($marca != "") && ($imagen_marca abrir_Imagen($marca))) { 
            list(
$ancho_marca$alto_marca) = getimagesize($marca); 
            
$pos_x $margen
            
$pos_y $margen
            switch (
$posicion_marca) { 
            case 
1
                
$pos_x = ($ancho $ancho_marca) - $margen
                break; 
            case 
2
                
$pos_y = ($alto $alto_marca) - $margen
                break; 
            case 
3
                
$pos_x = ($ancho $ancho_marca) - $margen
                
$pos_y = ($alto $alto_marca) - $margen
                break; 
            } 
            
imagecopy($imagen_nueva$imagen_marca$pos_x$pos_y00$ancho_marca$alto_marca); 
        } 
         
        
imagejpeg($imagen_nueva$destino$calidad); 
         
        return 
1
    } else { 
        
//    HA OCURRIDO UN ERROR AL OBTENER LOS DATOS DE LA IMAGEN. 
        //    PUEDE SER QUE EL ARCHIVO NO EXISTA, O QUE NO SEA UNA 
        //    IMAGEN VALIDA. 
        
return 0
    } 

crear_Thumbnail("zapato.jpg"10010080"zap_1.jpg"); 
?>

<form enctype="multipart/form-data" action="redimencion.php" method="post"> 
<input type="hidden" name="MAX_FILE_SIZE" value="200000000"> 
Subir esta imagen: <input name="imagen" type="file">  
<form action="<? echo $PHP_SELF;?>" method="post"> 
Foto:<br> 
<input type="text" name="foto"><br> 
Descripcion: 
<br> 
<textarea name="descripcion" cols="50" rows="10"></textarea><br> 
<input type="submit" name='submit' value="Subir Foto"> 
</form>  
<p>&nbsp;</p>
<p>&nbsp;</p>
__________________
Tu Guía Empresarial http://www.empresarial.org.ve Soluciones Empresariales

Atte: José Alejandro Realza