PHP Thumb es una clase que te permite crear fácilmente miniaturas en PHP, utiliza la librería GD para crear las imágenes en los formatos, GIF, PNG, JPEG, BMP, etc) dinámicamente. El tamaño de salida es configurable, puede ser la imagen completa o sólo una parte de la original, requiere de PHP5 y GD 2.0
La instalación es fácil, sólo tienes que descargar la última versión de la biblioteca y extraerla donde mas te convenga, para luego incluirla dentro de tu script de la siguiente manera:
require_once 'RUTA/ThumbLib.inc.php'
donde RUTA es la dirección de ubicación del archivo ThumbLib.inc.php.
para manipular las imágenes hay que crear el objeto pasándole la ruta de la imagen base:
// cargamos la imagen base $miniatura = PhpThumbFactory::create('imagen_original.png');
Luego es cuestión de jugar con las diferentes alternativas que nos brinda, pero antes, es necesario indicar que para mostrar alguna modificación hecha a la imagen, se llama a la función show:
Para re-dimensionar una imagen a valores dados (usa un algoritmo que trata de conseguir el mejor ajuste):
Ajustando la imagen a un porcentaje dado:
Ajustando la imagen a valores exactos dados:
Mostrando solo ciertos píxeles del centro de la imagen:
Pasándole un solo parámetro a la función anterior, mostrara un cuadrado:
Si prefieres extraer una porción exacta, usas la función crop pasándole como parámetros las coordenadas de inicio X, Y, el ancho y alto de la imagen:
Si queremos rotar la imagen usamos rotateImage( CW ó CCW ):
O rotarla en grados:
Por ultimo, puedes salvar esas imagenes si asi lo deseas, solo debes usar la función save de la siguiente manera:
se usa en el ejemplo el formato JPG, pero también se pueden usar PNG y GIF.
script completo de ejemplo:
Enlaces:
sitio oficial
descargas
documentación (en ingles)
// mostramos la imagen $miniatura->show();
Para re-dimensionar una imagen a valores dados (usa un algoritmo que trata de conseguir el mejor ajuste):
// creando una miniatura que no exceda los 100×100 píxeles (alto x ancho) $miniatura->resize(100,100); $miniatura->show();
Ajustando la imagen a un porcentaje dado:
// ajustada al 20% de su tamaño real $miniatura->resizePercent(20); $miniatura->show();
Ajustando la imagen a valores exactos dados:
$miniatura->adaptiveResize($alto,$ancho); $miniatura->show();
Mostrando solo ciertos píxeles del centro de la imagen:
$miniatura->cropFromCenter(200, 100); $miniatura->show();
Pasándole un solo parámetro a la función anterior, mostrara un cuadrado:
// mostrando un cuadro de 200x200 que representa el centro de la imagen: $miniatura->cropFromCenter(200); $miniatura->show();
Si prefieres extraer una porción exacta, usas la función crop pasándole como parámetros las coordenadas de inicio X, Y, el ancho y alto de la imagen:
$x = 60; // coordenada de partida X $y = 60; // coordenada de partida y $ancho=200; // ancho de la imagen resultante $alto= 200; // alto de la immagen resultante $miniatura->crop($x,$y,$ancho,$alto);
Si queremos rotar la imagen usamos rotateImage( CW ó CCW ):
$miniatura->rotateImage('CW'); // rotar a la izquierda $miniatura->rotateImage('CCW'); // rotar a la derecha
O rotarla en grados:
$miniatura->rotateImageNDegrees(90);// la rotamos 90 grados
Por ultimo, puedes salvar esas imagenes si asi lo deseas, solo debes usar la función save de la siguiente manera:
// esto salvara los cambios hechos anteriormente a la imagen // y con el nuevo nombre que le demos, bajo el mismo formato $miniatura->save('nueva_imagen'); // esto salvaría los cambios en un formato dado: $miniatura->save('nueva_imagen.jpg', 'jpg');
se usa en el ejemplo el formato JPG, pero también se pueden usar PNG y GIF.
script completo de ejemplo:
<?php // incluimos la clase require_once 'phpthumb-latest/ThumbLib.inc.php'; // cargamos la imagen base $miniatura = PhpThumbFactory::create('mi_imagen.png'); // la adptamos a 100 x 100 $miniatura->adaptiveResize(50, 50); // rotamos 180 grados la imagen resultante a la funcion anterior $miniatura->rotateImageNDegrees(180); //salvamos la imagen en JPG $miniatura->save('miniatura_resultante.jpg', 'jpg'); // mostramos la imagen $miniatura->show(); ?>
Enlaces:
sitio oficial
descargas
documentación (en ingles)
- Los comentarios están siendo moderados y serán publicados en la brevedad posible.