PHP: ¿Cómo hacer Thumbnails con PHP?
De Foros del Web
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.
--Vic_mx 31 Oct 2004
Este artículo es parte de las FAQs de PHP y el Manual de PHP.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
