2009-09-26 3 views
11

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

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

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

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

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

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

Спасибо!

+0

Я использовал пакеты, которые обрабатывали изображения, которые зависели от http://java.sun.com/javase/technologies/desktop/media/jai/. Я не уверен, удовлетворит ли он все ваши потребности. – TJR

ответ

8

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

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

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

+0

Из моего опыта работы с ним (для Computer Vision и Graphics) это действительно потрясающе. – monksy

0
+0

Я на самом деле ищут пакет манипуляции с растровым изображением, а не векторный, поэтому SVG и EMF не кажутся подходящими :( – Ran

1

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

0

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