Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Generar Thumbnail (imagen en miniatura) con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Generar Thumbnail (imagen en miniatura) con PHP

Si en tu web tienes una galería de imágenes, seguro que necesitas un generador de thumbnails, o imágenes en miniatura, para que tus usuarios no tengan que descargarse la imagen en su tamaño original si no les interesa. Generando una vista previa de la imagen original se podrá navegar rápida y cómodamente por la galería de imágenes y además, el ahorro en transferencia será significativo.

Para poder generar thumbnails con PHP necesitamos tener instalada la biblioteca GD. Podemos ver si la tenemos haciendo un phpinfo:

<?php phpinfo(); ?>

Para crear la vista previa lo que haremos será abrir la imagen original y crear una nueva. Lo haremos así:

$original = imagecreatefromjpeg("original.jpg");
$thumb = imagecreatetruecolor(150,150); // Lo haremos de un tamaño 150x150

Ahora necesitamos saber de que tamaño es la imagen original:

$ancho = imagesx($original);
$alto = imagesy($original);

A continuación vamos a copiar la imagen original en la imagen en miniatura:

imagecopyresampled($thumb,$original,0,0,0,0,150,150,$ancho,$alto);

Por último, guardamos la imagen en disco:

imagejpeg($thumb,'thumb.jpg',90); // 90 es la calidad de compresión

Este algoritmo para generar imágenes en miniatura no respeta el aspecto de la imagen original, para ello tendríamos que calcular el tamaño de la imagen en miniatura a partir de la imagen original.

El código al completo, todo junto, es este:

<?php

// Simple Thumb Gen
// Por Alex para WebTaller.com

$original = imagecreatefromjpeg("original.jpg");
$thumb = imagecreatetruecolor(150,150); // Lo haremos de un tamaño 150x150

$ancho = imagesx($original);
$alto = imagesy($original);

imagecopyresampled($thumb,$original,0,0,0,0,150,150,$ancho,$alto);

imagejpeg($thumb,'thumb.jpg',90); // 90 es la calidad de compresión

?>

Por Alex.
Director Técnico de WebTaller.



Usuarios que han visto este tema también han visto...

- Enviar un e-mail HTML con PHP
- Fotos en PHP
- Separar cadenas en partes con PHP
- Función GetImageSize() en PHP
- Códigos y Valores de colores RGB con PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad
Congreso de Internet

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2008 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 03-09-2010 a las 07:41:14