Tema: FAQ's de PHP
Ver Mensaje Individual
  #127 (permalink)  
Antiguo 31/10/2004, 01:00
vic_mx
 
Fecha de Ingreso: mayo-2003
Ubicación: Cuernavaca, Mor.
Mensajes: 117
Antigüedad: 23 años, 5 meses
Puntos: 2
¿Como hacer Thumbnails con PHP?

¿Como hacer Thumbnails con PHP?
Con la siguiente función podremos generar un thumbnail (imagen pequeña) de una original.

Código PHP:
<?php
//Autor: Víctor Simental
//http://port21.com.mx

$file = "imagen.jpg";//Nombre de la imagen Original


function image_gd($file)
{
//Separamos las extenciones de archivos para definir el tipo de ext.
    
$extension = explode(".",$file);
    
$ext = count($extension)-1;
    
//Determinamos las extenciones permitidas.
        
if($extension[$ext] == "jpg" || $extension[$ext] == "jpeg")
        {
            
$image = ImageCreateFromJPEG($file);
        }
        else if(
$extension[$ext] == "gif"){
            
$image = ImageCreateFromGIF($file);
        }
        else if(
$extension[$ext] == "png"){
            
$image = ImageCreateFromPNG($file);
        }
        else
        {
            echo 
"Error, extencion no permitida";
            die();
        }
        
    
$thumb_name = substr($file,0,-5);//nombre del thumbnail
    
$width  = imagesx($image);//ancho
    
$height = imagesy($image);//alto
    
    
$nueva_anchura  = 100; // Definimos el tamaño a 100 px
    
$nueva_altura = ($nueva_anchura * $height) / $width ; // tamaño proporcional
    
        
if (function_exists("imagecreatetruecolor"))
        {
           
$thumb = ImageCreateTrueColor($nueva_anchura, $nueva_altura);//Color Real
        
}
        
//En caso de no encontrar la funcion, la saca en calidad media
        
if (!$thumb) $thumb = ImageCreate($nueva_anchura, $nueva_altura);
        
    
ImageCopyResized($thumb, $image, 0, 0, 0, 0, $nueva_anchura, $nueva_altura, $width, $height);
    
header("Content-type: image/jpeg");
    
ImageJPEG($thumb, "t_".$thumb_name.".jpg", 100);
    
imagedestroy($image);
    
return 
$image;
}
/* Forma de uso */
image_gd($file);    
?>
La forma de uso es image_gd($file); donde $file es la variable que tiene asignada el nombre de nuestra imagen original.
Bueno eso sería todo, suerte.
http://www.port21.com.mx/webmasters/manuales/gd.html