2009-09-26 15 views
11

Estoy buscando una biblioteca gráfica java de alto nivel para crear textos artísticos, filigranas, cambiar el tamaño, recortar, identificar y manipular imágenes. ImageMagic es un buen ejemplo de dicha biblioteca, pero sus puertos Java son algo problemáticos (ejecutan imagemagic a través de JNI o ​​vía línea de comandos y son infernales de implementar en los servidores). Idealmente me gustaría tener una funcionalidad similar a ImageMagic, pero pura Java y de código abierto, de uso gratuito. ¿Alguien ha visto algo así?Java Graphics library

Esto es para un componente del lado del servidor. Un servicio que manipula imágenes de varios formatos web (png, jpg, gif, etc.).

Java tiene sus propias bibliotecas, por supuesto (Graphics2D) pero estoy buscando algo de mayor nivel.

Aquí hay varios casos de uso:

  • cambiar el tamaño y recortar las imágenes. Si tiene "cambio de tamaño inteligente" o "cultivo inteligente", será genial, por ejemplo, cambiar el tamaño de la costura o recortar por puntos de interés en la foto
  • Dibujar texto artístico en las imágenes. Uso de fuentes, colores, efectos de texto (texto en 3D, carbón y otros efectos)
  • Marcas de agua incrustadas.
  • Capas imágenes, el uso de imágenes como fondo, enmascarando con imágenes etc.
  • identificación de la imagen tales como: - número de colores, etc. DESVEST

Como se ha mencionado, Java en su Graphics2D soporta todo lo anterior, pero es de un nivel demasiado bajo, así que estoy buscando algo con lo que sea más agradable trabajar.

Gracias!

+0

He usado paquetes que manipularon imágenes que dependían de http://java.sun.com/javase/technologies/desktop/media/jai/ No estoy seguro de si satisfaría todas sus necesidades. – TJR

Respuesta

8

Java Advanced Imaging (JAI) suena como lo que quiere. Desde el sitio web:

La API Java Advanced Imaging ofrece un conjunto de interfaces orientadas a objetos que apoyan un modelo de programación simple y de alto nivel que le permite manipular imágenes fácilmente.

Me pareció relativamente fácil de trabajar. Y el rendimiento fue mejor que deshacerse de los procesos de ImageMagic.

+0

Según mi experiencia con él (para visión artificial y gráficos) es bastante impresionante. – monksy

0
+0

En realidad estoy buscando un paquete de manipulación de mapas de bits, no un vector, por lo que tanto SVG como EMF no parecen una buena opción :( – Ran

1

Use ImageJ. Además de ser un programa ordenado, se puede usar como una biblioteca.

0

Raw Java2D hace que sea bastante fácil ajustar el tamaño y recortar (solo asegúrese de reducir en potencias de 2, el servidor no maneja esto automáticamente).Solo encontré JAI útil para mi uso para hacer la cuantización del color ... el resto de la tubería parecía innecesario para las funciones básicas.