Подтвердить что ты не робот

Библиотека графики Java

Я ищу высокоуровневую графическую библиотеку java для создания художественного текста, водяных знаков, изменения размера, обрезки, идентификации изображений и манипуляций. ImageMagic - хороший пример такой библиотеки, но его java-порты несколько проблематичны (они либо запускают imagemagic через JNI, либо через командную строку и адские для развертывания на серверах). В идеале я хотел бы иметь аналогичную функциональность для ImageMagic, но чистую Java и open-source, свободную в использовании. Кто-нибудь видел что-то подобное?

Это для серверного компонента. Служба, которая управляет изображениями различных веб-форматов (png, jpg, gif и т.д.).

Java имеет свои собственные библиотеки, конечно (Graphics2D), но я ищу что-то более высокого уровня.

Вот несколько вариантов использования:

  • Изменить размер и обрезать изображения. Если у него есть "умное изменение размера" или "умная обрезка", что будет круто, например, изменение размера шва, или обрезка по интересующим вас фотографиям.
  • Рисование художественного текста на изображениях. Использование шрифтов, цветов, текстовых эффектов (3D-текст, уголь и другие эффекты).
  • Ввод водяных знаков.
  • Слои изображения, использование изображений в качестве фона, маскировка изображений и т.д.
  • Идентификация изображения, такая как - количество цветов, stdev и т.д.

Как уже упоминалось, Java в Graphics2D поддерживает все вышеперечисленное, но слишком низкое, поэтому я ищу что-то, с чем лучше работать.

Спасибо!

4b9b3361

Ответ 1

Java Advanced Imaging (JAI) звучит так, как вы хотите. На веб-сайте:

API расширенной визуализации Java предоставляет набор объектно-ориентированных интерфейсов которые поддерживают простой, высокоуровневый модель программирования, которая позволяет вам легко манипулировать изображениями.

Мне было относительно легко работать. И производительность была лучше, чем отключение процессов ImageMagic.

Ответ 2

Используйте ImageJ. В дополнение к тому, чтобы быть чистой программой, ее можно использовать в качестве библиотеки.

Ответ 4

Raw Java2D упрощает изменение размера и обрезки (просто убедитесь, что вы уменьшаете полномочия 2, бэкэнд не обрабатывает это автоматически). Я только нашел JAI полезным для моего использования, чтобы сделать квантование цвета... остальная часть конвейера казалась ненужной для основных функций.