Ver Mensaje Individual
  #3 (permalink)  
Antiguo 09/03/2011, 16:11
severicks
 
Fecha de Ingreso: septiembre-2009
Mensajes: 306
Antigüedad: 15 años, 2 meses
Puntos: 10
Respuesta: como crear thumbs sin perder calidad de imagen

Cita:
Iniciado por gogupe Ver Mensaje
Cual es el script que has usado?
Hay algunos por ahí que te deja poner la calidad. He visto que van desde 1 a 10, de menor a mayor calidad.
este es script que estoy usando, lo arme de varios ejemplos que encontré por aquí y por aya en internet

Código PHP:
    function crear_thumb($img$tname){
            
// Obtencion de formatos de imagen 
            
if(stristr(strtolower($img),"jpg") or stristr(strtolower($img),"jpeg")){ 
                
$img imagecreatefromjpeg($img); 
                
$tipo "jpg"
            } 
    
            if(
stristr(strtolower($img),"png")){ 
                
$img imagecreatefrompng($img); 
                
$tipo "png"
            } 
             
            if(
stristr(strtolower($img),"gif")){ 
                
$img imagecreatefromgif($img); 
                
$tipo "gif"
            } 
        
                    
// Obtenemos ancho y alto de la imagen 
            
$ancho imagesx($img); 
            
$alto imagesy($img); 
            
$return = array($ancho$alto);
            
            
//si el alto de la img es mayor al ancho
            
if($ancho $alto){
                
$n_alto 154
                
$redu = ($n_alto 100) / $alto
                
$n_ancho round($ancho $redu 100); 
                
$thumb imagecreatetruecolor($n_ancho,$n_alto); 
                if(!
imagecopyresized($thumb,$img,0,0,0,0,$n_ancho,$n_alto,$ancho,$alto)){echo "cpy <br/>"; }
                switch(
$tipo){
                    case 
"jpg":
                    
$img imagejpeg($img$tname100);
                    break;
        
                    case 
"png":
                    
$img imagepng($img$tname);
                    break;

                    case 
"gif":
                    
$img imagegif($img$tname);
                    break;

                }
            }else{
                
                
$n_ancho 142
                
$redu = ($n_ancho 100) / $ancho
                
$n_alto round($alto $redu 100); 
                
$thumb imagecreatetruecolor($n_ancho,$n_alto); 
                
imagecopyresized($thumb,$img,0,0,0,0,$n_ancho,$n_alto,$ancho,$alto); 
                    switch(
$tipo){
                        case 
"jpg":
                        
imagejpeg($thumb$tname100); 
                        
imagecreatefromjpeg($tname);
            
                        case 
"png":
                        
imagepng($thumb$tname); 
                        
$img imagecreatefrompng($tname);

                        case 
"gif":
                        
imagegif($thumb$tname); 
                        
$img imagecreatefromgif($tname);

                    }
            }

    
            
imagedestroy($thumb); 
            
$return[] = $n_ancho;
            
$return[] = $n_alto;
            return 
$return;
    } 
__________________
Mantente al tanto del acontecer Turistico nacional
Visita el Parque Bicentenario El Salvador