Высококачественная графическая библиотека 2D Java (SE)
Я ищу высококачественную графическую библиотеку для Java Standard Edition. Я знаю некоторые довольно низкоуровневые библиотеки: AWT/Swing, JOGL, SDL. Есть ли/есть альтернатива?
Мои требования (по крайней мере):
- Сглаживание
- Полноэкранная поддержка.
- Альфа-канал
- Режимы смешивания и Z-глубина
- Растрированные эффекты: (motion) размытие, свечение, мрак и т.д.
И, необязательно:
- Аппаратное ускорение
- Векторная графика (масштабирование/поворот/перевод с точностью с плавающей запятой)
- Хорошо документировано, легко начать.
Я понимаю, нет ли библиотек/фреймворков, соответствующих всем требованиям, если да, можете ли вы прокомментировать, насколько хорошо он расширяется?
Edit
Есть ли другие альтернативы помимо обработки? Является ли обработка полезной (и простой?) В качестве библиотеки?
Ответы
Ответ 1
Не настоящая графическая библиотека, а усовершенствованная библиотека апплетов и графики:
PulpCore
Обязательно возьмите довольно новую версию (возможно, даже извлеките источник через mercurial и создайте его самостоятельно), потому что эффекты фильтра, о которых вы говорили (размытие и т.д.), недоступны в более ранних версиях.
Я знаю, что это не совсем то, что вы ищете; это не альтернатива обработки, но это может быть лучший выбор, в зависимости от того, что вы планируете делать.
Ответ 2
Все эффекты, о которых вы просите, могут быть выполнены с Java 2D довольно просто, а Java2D - в какой-то степени аппаратное ускорение. Книга Filthy Rich Клиенты показывает, как реализовать все эти эффекты и многие другие. Painters в SwingX также осуществили несколько из этих эффектов.
Другая возможность - JavaFx. У него много эффектов. Полтора года назад, когда я это пробовал, он был все еще немного медленным, но по крайней мере одна версия была выпущена с тех пор. Теперь это может быть более результативным. Он построен поверх Java2D, поэтому он должен иметь возможность использовать аппаратное ускорение в Java2D.
Что касается полноэкранной поддержки здесь больше информации.
Ответ 3
Может быть Обработка (домашняя страница) может быть хорошим компромиссом.
- у него есть 4 вида поддержки, включая OpenGL
- он имеет AA
- это 2d или 3d
- поддерживает ускорение hw
- он поддерживает преобразования
- его синтаксис довольно прост в изучении.
- легко встраивается
- все, что вам нужно узнать, находится в этой странице
Ответ 4
Взгляните на http://processing.org