Ver Mensaje Individual
  #14 (permalink)  
Antiguo 03/09/2011, 12:12
Avatar de JuJoGuAl
JuJoGuAl
 
Fecha de Ingreso: julio-2009
Ubicación: Venezuela
Mensajes: 754
Antigüedad: 14 años, 10 meses
Puntos: 19
Respuesta: Redimencionar imagen queda Distorcionada

Estoy tratando de crear la imagen pero obtengo errores:

me pueden ayudar???

Código PHP:
function findexts ($filename)
        {
            
$filename strtolower($filename);
            
$exts preg_split("[/]"$filename);
            
$n count($exts)-1;
            
$exts $exts[$n];
            return 
$exts;
        }
        function 
crearimagen($id,$ancho,$alto,$nombre)
        {
            
$archivo            $_FILES["pro_imgprinc"]["tmp_name"];     // Nombre y ruta del archivo subido a los temporales del servidor
            
$nombreOriginal        $_FILES["pro_imgprinc"]["name"];        // Nombre del archivo en el PC del usuario
            
$tamaioOrigen        $_FILES["pro_imgprinc"]["size"];        // Tamaño de la imagen original
            
$opcion                2;                                    // opcion para resamplear la imagen
            
$calidad            100;                                     // Calidad Final de la Imagen
            
$dir_Destino'../imagenes/productos/';
            
$dir_Destino.= $nombre;
            
$dir_Destino.= '/';            
            
            
$ext findexts ($_FILES['pro_imgprinc']['type']); 
            
$imagen.=$id;
            
$imagen.="_";
            
$imagen.=$nombre;
            
$imagen.=".";
            
$imagen.=$ext;
                
            
$nombreDestino.= $dir_Destino;
            
$nombreDestino.= $imagen;
            
            
$tamano=getimagesize$_FILES["pro_imgprinc"]["tmp_name"]);            
            
$ancho_orig=$tamano[0];
            
$alto_orig=$tamano[1];
                        
            if (
$ancho_orig>$alto_orig)
                    {
                    
$anchoDestino=$ancho;
                    
$altoDestino=($anchoDestino/$ancho_orig)*$alto_orig;
                    }
                else if(
$ancho_orig<$alto_orig)
                    {
                    
$altoDestino=$alto;
                    
$anchoDestino=($alto_dest/$alto_orig)*$ancho_orig;
                    }
                else if (
$ancho_orig==$alto_orig)
                {
                    
$tamano=($ancho/$alto_orig)*$ancho_orig;
                    
$altoDestino=$tamano;
                    
$anchoDestino=$tamano;
                }                
                            
                require_once 
'Imagen.php';
                
// Pasamos datos con los metodos set en vez de tipo JSON
                
$obj_img    = new Imagen();
                
$obj_img    ->set("imagenOrigen"    str_replace("\\","/",$archivo));        // Usamos el str_replace para mayor compatibilidad con distintos servidores
                
$obj_img    ->set("imagenDestino"    $nombreDestino);
                
$obj_img    ->set("anchoDestino"    $anchoDestino);
                
$obj_img    ->set("altoDestino"        $altoDestino);
                
$obj_img    ->set("recorte"            , array('filas'    => 3'columnas'    => 3'centrado'    =>    4));
                
$obj_img    ->set("calidadImagen"    $calidad);
                
$obj_img    ->set("generarArchivo"    true);     // true genera un archivo en el servidor False la envia para descargar en este caso no se puede enviar nada al servidor).
                
$obj_img    ->set("modo"            $opcion);
                
$obj_img    ->set('archivoTmp'        true);    // Si vamos a editarlo directamente de los temporales debemos indicarle que es temporal
                
$obj_img    ->set('borrarOrigen'    true);     // Se utiliza para borrar la imagen original del servidor. Si lo hacemos desde el temporal se puede dejar sin establecer.
                
$obj_img    ->procesarImagen();    
        }
        
        if(!empty(
$_FILES['pro_imgprinc']) && $_FILES['pro_imgprinc']['error'] == UPLOAD_ERR_OK)
        {
            
//Creo las 3 Copias de Imagenes que Necesito:
            
crearimagen($proid,310,256,'grande');
            
crearimagen($proid,206,170,'normal');
            
crearimagen($proid,155,128,'mediana');
        } 
el Error es:

Warning: getimagesize(C:\Windows\Temp\phpEE31.tmp) [function.getimagesize]: failed to open stream: No such file or directory in C:\AppServ\www\adm\panel_admin_productos_nuevo.php on line 64

y segun leo en este foro el GETSIZE lo estoy haciendo bien... entonces que pasa :S