Foros del Web » Creando para Internet » Diseño web »

Thumbais en php Solo Cuadrados u.u

Estas en el tema de Thumbais en php Solo Cuadrados u.u en el foro de Diseño web en Foros del Web. Buenas Aller cuando suvi una imagen rectangular EJ: Alto 150 x 100 la funcion que cree la creo solamente cuadrada esto Causa que la imagen ...
  #1 (permalink)  
Antiguo 13/04/2011, 10:43
Avatar de Lautaro_eb  
Fecha de Ingreso: mayo-2010
Ubicación: Bariloche, Argentina
Mensajes: 284
Antigüedad: 13 años, 11 meses
Puntos: 24
Thumbais en php Solo Cuadrados u.u

Buenas Aller cuando suvi una imagen rectangular EJ: Alto 150 x 100 la funcion que cree la creo solamente cuadrada esto Causa que la imagen se pixe como ago para Saver si es rectangular y que calse bien ?
Código PHP:
function Createtumbails($imagen,$ancho,$style='',$border '')
{
    
/* Intentar abrir */
    
$nombre=basename($imagen);
    
$formt explode(".",$nombre);
    
$origenfrom dirname($imagen)."/";
    if(!
file_exists("imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1]) && is_int($ancho)){
        
$sizeimg getimagesize($imagen);
        echo 
"<pre>";
        
print_r($sizeimg);
        echo 
"</pre>";
        
// Carcgar
        
if($sizeimg[0] == $sizeimg[1]){
            
$ValorA['alto'] = $ancho;
            
$ValorA['ancho'] = $ancho;
        }
        else if(
$sizeimg[0] > $sizeimg[1]){
            
$ValorA['alto'] =$ancho;
            
$ValorA['ancho'] = $ancho*2;
        }
        else if(
$sizeimg[0] < $sizeimg[1]){
            
$ValorA['ancho'] = $ancho;
            
$ValorA['alto'] = $ancho/2*3;
        }
        else{
            
$ValorA['alto'] = $ancho;
            
$ValorA['ancho'] = $ancho;
        }
        
//echo $ValorA['ancho']."<br />".$ValorA['alto'];
        
$thumb imagecreatetruecolor($ValorA['ancho'], $ValorA['alto'])
          or die(
'No se puede Iniciar el nuevo flujo a la imagen GD');
        switch(
strtoupper($formt[1])){
            case 
"JPEG" :{
                
$origen imagecreatefromjpeg($imagen);
                break;
            }
            case 
"JPG" : {
                
$origen imagecreatefromjpeg($imagen);
                break;
            }
            case 
"GIF":{
                
$origen imagecreatefromgif($imagen);
                break;
            }
            case 
"PNG":{
                
$origen imagecreatefrompng($imagen);
                break;
            }
        }
/*        if(!$origen)
        {
            $im  = imagecreatetruecolor($ancho, $ancho);
            $fondo = imagecolorallocate($im, 255, 255, 255);
            $ct  = imagecolorallocate($im, 0, 0, 0);
            imagefilledrectangle($im, 0, 0, $ancho,  $ancho, $fondo);
            imagestring($origen, 1, 5, 5, 'Error cargando ' . $imagen, $ct);
        }*/
        
imagecopyresized($thumb$origen0000$ValorA['ancho'], $ValorA['alto'], $sizeimg[0],$sizeimg[1]);
        switch(
strtoupper($formt[1])){
            case 
"JPEG":{
                
imagejpeg($thumb,"imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1]);
                break;
            }
            case 
"JPG":{
                
imagejpeg($thumb,"imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1]);
                break;
            }
            case 
"GIF":{
                
imagegif($thumb,"imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1]);
                break;
            }
            case 
"PNG":{
                
imagepng($thumb,"imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1]);
                break;
            }
        }
        
$saveimg "imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1];
        
imagedestroy($thumb);
        return 
"<img border='".$border."' style='".$style."' src='".$saveimg."' />";
    }
    else { 
        return 
"<img border='".$border."' style='".$style."' src='imagenes/thums/".$formt[0]."x".$ancho.".".$formt[1]."' />";
    }

Muchas Gracias.
  #2 (permalink)  
Antiguo 13/04/2011, 12:17
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Thumbais en php Solo Cuadrados u.u

revisa este hilo: http://www.forosdelweb.com/f53/corta...0/#post3808981
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 13/04/2011, 13:53
 
Fecha de Ingreso: marzo-2011
Mensajes: 184
Antigüedad: 13 años, 1 mes
Puntos: 11
Respuesta: Thumbais en php Solo Cuadrados u.u

Basta con obtener los valores de ancho y largo de la imagen. Después tomas la magnitud más larga y la tomas como 100%, te haces una regla de tres, y sacas la diferencia entre porcentajes si la diferencia de porcentajes es menor que, digamos un 15%, dejarlo como cuadrado, pero si pasa del 30% sacar thumbs más rectangulares. Podrías también con una variable bandera, señalar si la orientación del rectángulo es vertical u horizontal.

Saludos!

__________________
“Un estómago vacío, es un mal consejero.” Albert Einstein

Reflexiones, humor gráfico, chistes, Deporte, Consejos y tips

Etiquetas: img, php, thumbail
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:51.