Foros del Web » Programando para Internet » PHP »

Recortar imagen y crear thumbnail

Estas en el tema de Recortar imagen y crear thumbnail en el foro de PHP en Foros del Web. Hola a todos, a ver, tengo una función que crea thumbnais y funciona muy bien, es esta: Código PHP: <?php      function  crear_thumbjpeg ( $carpeta ...
  #1 (permalink)  
Antiguo 01/12/2008, 09:58
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Recortar imagen y crear thumbnail

Hola a todos, a ver, tengo una función que crea thumbnais y funciona muy bien, es esta:
Código PHP:
<?php
    
function crear_thumbjpeg($carpeta,$Nombre_imagen,$anchura1,$anchura2)
{
    
$extension substr($Nombre_imagen,(strlen($Nombre_imagen)-3),3);
    if(
$extension == "jpg" or $extension == "JPG")
        
$tipo_img "jpeg";
    else if(
$extension == "gif" or $extension == "GIF")
        
$tipo_img "gif";
    
$tamaños = array($anchura1$anchura2);
    foreach (
$tamaños as $anchura)
    {
        if(
$Nombre_imagen)
        {
            
$Ruta_Imagen_Mini "images/thumbs/tn_".$anchura."_".$Nombre_imagen;
            
$imagen $Nombre_imagen;
            
$camino $carpeta."/";
            if(!
file_exists($Ruta_Imagen_Mini)and file_exists($camino.$imagen))
            {
                try
                {
                if(
$tipo_img == "jpeg")
                    
$img imagecreatefromjpeg($camino.$Nombre_imagen) or die("No se encuentra la imagen $camino.$nombre<br>n");
                elseif(
$tipo_img=="gif")
                    
$img imagecreatefromgif($camino.$Nombre_imagen) or die("No se encuentra la imagen $camino.$nombre<br>n");                            // miramos el tamaño de la imagen original...
                
$datos getimagesize($camino.$Nombre_imagen) or die("Problemas con $camino$nombre<br>n");
                
// intentamos escalar la imagen original a la medida que nos interesa
                
$ratio = ($datos[0] / $anchura);
                
$altura round($datos[1] / $ratio);
                
// esta será la nueva imagen reescalada
                
$thumb imagecreatetruecolor($anchura,$altura);
                
// con esta función la reescalamos
                
imagecopyresampled ($thumb$img0000$anchura$altura$datos[0], $datos[1]);
                
// voilà la salvamos con el nombre y en el lugar que nos interesa.
            //    echo "<br>Rutamini: ".$Ruta_Imagen_Mini;
                
if($tipo_img == "jpeg")
                    
imagejpeg($thumb,$Ruta_Imagen_Mini);
                elseif(
$tipo_img=="gif")
                    
imagegif($thumb,$Ruta_Imagen_Mini);
                }
                catch(
Exception $e)
                {
                    
$error "si";
                }
                
//Ruta de la imagen mini con altura1, la que se devuelve para mostrar...
                
$error "images/thumbs/tn_".$anchura1."_".$Nombre_imagen;
            }
            
//si no hay ni mini, ni la grande, no se podrá crear la mini..
            
elseif(!file_exists($Ruta_Imagen_Mini) and !file_exists($camino.$imagen))
            {
                
$error "images/icon_noImagen.jpg";
            }
            elseif(
file_exists($Ruta_Imagen_Mini) and file_exists($camino.$imagen))
            {
                
$error "images/thumbs/tn_".$anchura1."_".$Nombre_imagen;
            }
            elseif(
file_exists($Ruta_Imagen_Mini))
            {
                
$error "images/thumbs/tn_".$anchura1."_".$Nombre_imagen;
            }                
        }
        else
        {
            
$error "images/icon_noImagen.jpg";
        }
    }

    return 
$error;
}
?>
pero ahora lo que quiero y necesito es sacar las thumbnais pero de 89 x 89 y claro, con esta funcion solo saco la anchura, no le puedo especificar la altura ya q esta me la calcula proporcional.
En resumen, me gustaria sacar una thumbnai de 89 x 89 recortando la imagen (o como sea)...
Un saludo y gracias anticipadas.
  #2 (permalink)  
Antiguo 01/12/2008, 10:32
 
Fecha de Ingreso: noviembre-2008
Mensajes: 85
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Recortar imagen y crear thumbnail

Yo utilizo este otro código el cual me ha venido muy bien. Espero te sirva.
http://www.rincondelcodigo.com/ver.php?var=169&num=80
  #3 (permalink)  
Antiguo 02/12/2008, 01:24
 
Fecha de Ingreso: septiembre-2007
Mensajes: 106
Antigüedad: 16 años, 7 meses
Puntos: 1
Respuesta: Recortar imagen y crear thumbnail

Que tal urruju, el codigo que me has pasado funciona bien pero no es exactamente lo que yo quiero. Este código me genera una thumbnail con la anchura y altura que le especifico. Si yo lo paso una imagen de 200 x 400 (imagen horizontal) y genero una thumbnai de 100 x 100 con este código me distorsionará la imagen, la idea es recortar una imagen de 100 x 100....
no se si me he explicado...
un saludo y gracias anticipadas!!
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 00:37.