Ver Mensaje Individual
  #4 (permalink)  
Antiguo 22/02/2010, 10:44
Avatar de hector2c
hector2c
 
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 meses
Puntos: 25
Pregunta Respuesta: 1) redimensionar imagen, 2) Insertar imagen en cuadro de texto

mmmmmm, yo uso esta función... que hace lo siguiente:

- sube la imagen
- crea una miniatura cuadrada de 100 x 100 pixels (puedes modificar estop)
- y crea una miniatura a escala como maximo de 320 pixel (puedes modificar estop)

ahi la función

Código PHP:
    function fn_subir_ima_min_cua_nor_2($nom_bas$dir_ima$dir$max$max_cua){
//        fn_subir_ima_min_cua_nor('nombre_imagen', '../origen/a.jpg', '../../destino/', 300=maximo_miniatura, 100=tamaño cuadrado);
        
$nom_ima $nom_bas.".jpg";
        
$nom_ima_min $nom_bas."_min.jpg";
        
$nom_ima_cua $nom_bas."_cua.jpg";
        
$des =  $dir.$nom_ima;
        
copy($dir_ima$des); 

            
//generar imagen miniatura

            
$ori imagecreatefromjpeg($dir.$nom_ima);
            
$ancho imagesx($ori);
            
$alto imagesy($ori);
            
            if (
$ancho$alto){
                
$min_ancho $max;
                
$min_alto = ($alto $max) / $ancho;
            }else{
                
$min_alto $max;
                
$min_ancho = ($ancho $max) / $alto;
            }
        
            
$thumb imagecreatetruecolor($min_ancho$min_alto);
            
imagecopyresampled($thumb,$ori,0,0,0,0,$min_ancho,$min_alto,$ancho,$alto); 
            
imagejpeg($thumb,$dir.$nom_ima_min,90); // 80 es la calidad de compresión        
            
            //generar imagen cuadrada
            
            
$mover_ancho 0;
            
$mover_alto 0;
            
            if (
$ancho$alto){
                
$min_ancho $max_cua;
                
$min_alto = ($alto $max_cua) / $ancho;
                
$mover_ancho 0;
                
/*
                $min_alto = $max_cua;
                $min_ancho = ($ancho * $max_cua) / $alto;
                $mover_ancho = (($min_ancho - $max_cua)/2)*(-1);
                */
            
}else{
                
/*
                $min_ancho = $max_cua;
                $min_alto = ($alto * $max_cua) / $ancho;
                $mover_alto = (($min_alto - $max_cua)/2)*(-1);
                */
                
$min_ancho $max_cua;
                
$min_alto = ($alto $max_cua) / $ancho;
                
$mover_alto 0;
            }
            
$thumb imagecreatetruecolor($min_ancho$min_alto);
            
imagecopyresampled($thumb,$ori,$mover_ancho,$mover_alto,0,0,$min_ancho,$min_alto,$ancho$alto); 
            
imagejpeg($thumb,$dir.$nom_ima_cua,96); // 80 es la calidad de compresión        
    

la usas de este modo:

Código PHP:
fn_subir_ima_min_cua_nor('nombre_imagen''../origen/a.jpg''../../destino/'300=maximo_miniatura100=tamaño cuadrado); 
las imagenes las sube en estos formatos: normal, miniatura y cuadrada
__________________
blog: hector2c.wordpress.com
email: [email protected]