Fetishcode…Thinking in objects

Crear Thumbnails de imágenes en Java con JIMI

Publicado en Java by fetishsue en Octubre 4th, 2007

How to create image thumbnails programmatically cropping a region of an image instead of scaling it. We explain how JIMI (Java Image Management Interface) can provide a easy solution.

Si lo que queremos es generar una imagen en miniatura a partir de otra imagen, dentro de una aplicación java, pero con un tamaño fijo, podemos hacerlo de una forma muy sencilla. Para ello necesitamos la librería JIMI (Java Image Management Interface), una api propia de Sun para leer, crear y manipular imágenes en múltiples formatos.

En nuestro caso estamos desarrollando en struts una galeria de imágenes al estilo de Flickr y necesitamos crear miniaturas de las imágenes con un HxW fijo, por ejemplo 100×100, sin modificar la imagen al escalarla. Por lo que si la imagen original es rectangular para evitar deformarla necesitamos recortar una parte de ésta con las medidas adecuadas, con JIMI es posible.

thumb_jimi

Primero, necesitamos incluir las clases de JIMI en nuestro proyecto, para ello primero descargamos la librería en la página oficial de Sun:

http://java.sun.com/products/jimi/

Después descomprimimos el zip en local, renombramos el archivo JimiProClasses.zip como jimi-1.0.jar y lo copiamos en el path /WEB-INF/lib de nuestro proyecto y lo añadimos al Build Path del proyecto desde Eclipse:

Project –> Properties –> Java Build Path –> pestaña Libraries –> Add JARs…

Una vez hecho este paso nuestra aplicación ya puede reconocer las clases de jimi, lo último que queda por hacer es incluir este pequeño código:

import java.awt.image.*;
import com.sun.jimi.core.Jimi;
(...)

ImageProducer p1=Jimi.getImageProducer("image.jpg");
ImageFilter f=new CropImageFilter(0,0,100,100);
ImageProducer p2=new FilteredImageSource(f, p1);
Jimi.putImage(p2, "image.jpg");

fuente

Etiqueta con:,