2010-07-12 1 views
20

Я генерирую некоторые изображения с использованием интерфейса Graphics2D, и иногда я хотел бы нарисовать текст на изображении и применить к нему эффекты, подобные тем, которые есть в Adobe Photoshop.Как создать тень тени, внутреннее свечение и внешнее свечение в Java Swing?

Прямо сейчас, чтобы сгенерировать «тень» в тексте, я рисую текст дважды, один раз в исходном цвете и один раз в черном с небольшим (1px) x & y смещением. К сожалению, это слишком упрощенно, поскольку мне нужно больше контролировать тень (непрозрачность, размер, распространение).

Что касается внутренних свечений и внешних свечений, я не уверен, с чего начать; маска/градиентная краска/альфа-смешивание?

Есть ли Java-библиотека для создания таких эффектов? Если не так, как вы собираетесь создавать эти эффекты?

+0

ли мой ответ для вас работу? –

ответ

20

Я бы очень рекомендовал книгу Filthy Rich Clients. В главе 16 рассказывается о тени. Вас также может заинтересовать этот blog post. В главе 17 говорится о сияющем эффекте. На веб-сайте есть пример кода для обоих. Остальная часть книги также стоит прочитать. Я не мог положить книгу, когда прочитал ее. Есть много других забавных эффектов, объясненных и продемонстрированных в книге.

jhlabs site также является хорошим сайтом, как уже упоминалось.

Edit:

Для библиотеки, я хотел бы посмотреть на художников в SwingX library. Вот несколько учебников:

2

This site получил много информации о фильтрах и эффектах, я думаю, что исходный код приложения также доступен.