¿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