Por mi necesidades simples, Thumbnailator fue perfecto. Pequeña lib; API fluida, limpia y bien documentada.
En mi caso, era sólo "net.coobird" % "thumbnailator" % "0.4.8"
dependencia y:
//..
Thumbnails.of(originalFile)
.size(300, 300)
.toFile(thumbnailFile)
//..
y hecho. Básicamente es un envoltorio amigable sobre las API Java 2D. Útil para necesidades específicas (thumbnailin '); sin curva de aprendizaje
A menos que realmente necesita para hacer un poco de trabajo pesado con imágenes, me guardaría de depender de un binario externo (ImageMagick y envolturas como JMagick), lo que añadiría complejidad y partes móviles en la configuración. Especialmente si tu stack es algo así como el mío: la aplicación Scala/Java se ejecuta en Heroku. Hay cosas como heroku-buildpack-imagemagick-cedar-14
, sí, pero una dependencia simple incluida con la aplicación es infinitamente más limpia.