2010-08-10 9 views
9

Necesito una lib de generación de miniaturas lo suficientemente inteligente como para usarla en mi aplicación java. He encontrado el código apropiado here pero no estoy seguro de posibles problemas de licencia.¿Hay alguna biblioteca de Java para la generación de miniaturas?

¿Hay bibliotecas libres apropiadas?

+1

¿Se puso en contacto con el autor para ver si había problemas de licencia? – Woody

Respuesta

6

Si se divide la tarea, "imagen de escala" y "guardar imagen", puede hacerlo con "imagen de carga" "crear miniatura" en tres pasos, la API Java estándar. Puede usar los métodos de utilidad estática en javax.imageio.ImageIO para cargar y guardar imágenes y usar Image#getScaledInstance(...) para cambiar el tamaño de la imagen original. Como el Image que obtiene de getScaledInstance no es BufferedImage, debe crear un nuevo BufferedImage con el tamaño correcto y pintar la imagen escalada en el nuevo BufferedImage antes de poder usar ImageIO para guardarlo.

0

Hay jmagick, una implementación Java del popular framework ImageMagick.

+1

Buena idea, pero no es óptima. Agregar una dependencia externa y llamar a métodos nativos a través de un contenedor ABI no es lo que un desarrollador de Java llama una buena solución. – gyorgyabraham

+0

No es realmente una implementación de Java, es una interfaz de Java para las bibliotecas nativas de ImageMagick. –

18

Pruebe thumbnailator: http://code.google.com/p/thumbnailator/. Todo el código es necesario agregar es:

Thumbnails.of(new File("path/to/directory").listFiles()) 
    .size(640, 480) 
    .outputFormat("jpg") 
    .toFiles(Rename.PREFIX_DOT_THUMBNAIL); 

También es rápida: http://code.google.com/p/thumbnailator/wiki/Comparison.

Buena suerte

+0

¡me encanta! funciona como un encanto y súper fácil de usar. conectado a mi sitio web en cuestión de minutos y estoy muy contento con este –

+0

Para una fácil integración con herramientas de compilación populares, consulte: [http://mvnrepository.com/artifact/net.coobird/thumbnailator](http://mvnrepository.com/artifact/ net.coobird/thumbnailator) – icl7126

1

Para crear imágenes en miniatura utilizando la metodología de la API, Scalr.resize ("sus argumentos") sería la mejor. También thumbanilator es una opción donde no tiene que perder mucho tiempo para entender, solo llame al método respectivo y disfrute con su miniatura de salida. Performance/Quality wise Scalr es lo mejor. El sabio thumbnailator de calidad está bien.

Cuestiones relacionadas