Bibliothèque graphique Java

Je recherche une bibliothèque graphique Java de haut niveau pour la création de textes artistiques, de filigranes, le redimensionnement, le recadrage, l’identification et la manipulation d’images. ImageMagic est un bon exemple de cette bibliothèque, mais ses ports java sont quelque peu problématiques (ils exécutent imagemagic via JNI ou via une ligne de commande et sont terribles à déployer sur des serveurs). Idéalement, j’aimerais utiliser des fonctionnalités similaires à ImageMagic, mais Java pur et open-source, libres d’utilisation. Quelqu’un at-il vu quelque chose comme ça?

Ceci est pour un composant côté serveur. Un service qui manipule des images de différents formats Web (png, jpg, gif, etc.).

Java a bien sûr ses propres bibliothèques (Graphics2D) mais je cherche quelque chose de plus haut niveau.

Voici plusieurs cas d’utilisation:

  • Redimensionner et rogner les images. Si le «redimensionnement intelligent» ou le «rognage intelligent» est intelligent, ce sera cool, par exemple le redimensionnement de la couture, ou le recadrage en fonction des points d’intérêt de la photo.
  • Dessin de texte artistique sur des images. Utilisation de fonts, de couleurs et d’effets de texte (texte 3D, fusain et autres effets)
  • Incorporation de filigranes.
  • Superposition d’images, utilisation d’images en arrière-plan, masquage d’images, etc.
  • Identification de l’image telle que – nombre de couleurs, stdev etc.

Comme mentionné, Java dans son Graphics2D prend en charge tout ce qui précède, mais son niveau est trop bas, je recherche donc quelque chose de plus agréable à utiliser.

Merci!

JAI (Java Advanced Imaging) sonne comme vous le souhaitez. Sur le site:

L’API Java Advanced Imaging fournit un ensemble d’interfaces orientées object prenant en charge un modèle de programmation simple et de haut niveau qui vous permet de manipuler facilement des images.

Je trouvais cela relativement simple de travailler avec. Et les performances étaient meilleures que de réduire les processus ImageMagic.

Utilisez ImageJ . En plus d’être un programme soigné, il peut être utilisé comme une bibliothèque.

Raw Java2D facilite le redimensionnement et le recadrage (assurez-vous simplement de réduire la puissance par 2, le backend ne le gère pas automatiquement). JAI n’a trouvé utile que mon utilisation pour la quantification des couleurs. Le rest du pipeline semblait inutile pour les fonctions de base.