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: 18 años, 1 mes
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_fuente, 0, 0, 0, 0, $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_y, 0, 0, $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", 100, 100, 80, "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