marzo 1, 2010 0

Generando thumbnails con PHP

By in Librerías, PHP

Ya hemos visto en este blog como usar algunas de las funciones de la librería GD. Hoy le va a tocar el turno a la función imagecopyresampled, que nos va a permitir escalar una imagen. El código para generar el thumbnail mediante esta función es el siguiente:

<?php
define('ANCHO', 100);
$image_path = $_GET['i'];

// Cargamos la imagen original
$original = imagecreatefromjpeg($image_path);

// obtenemos el ancho y el alto
$original_x = imagesx($original);
$original_y = imagesy($original);

// calculamos el nuevo alto de la imagen, para que guarde la relación
// de aspecto
$alto_destino = round($original_y * ANCHO / $original_x, 0);

// creamos la imagen del thumbnail
$destino = imagecreatetruecolor(ANCHO, $alto_destino);

// copiamos la imagen original y la escalamos
imagecopyresampled($destino, $original, 0, 0, 0, 0, ANCHO, $alto_destino, $original_x, $original_y);

// mostramos la imagen del thumbnail
header('Content-Type: image/jpeg');
imagejpeg($destino);

// destruimos las imagenes
imagedestroy($destino);
imagedestroy($original);

Podríamos modificar este script para que guardara los thumbnails en un directorio, y si ya existe no haría falta volver a generarlo, pero eso lo dejamos mejor como pequeña práctica.

Comparte esta entrada:
Delicious Digg Google Technorati Menéame Fresqui Reddit Facebook Twitter Yahoo! Buzz MySpace Email BarraPunto

Tags: , , ,

Leave a Reply