Полупрозрачная заливка в paintComponent

Я делаю 2D-игру на Java и хочу затемнить вещи в темных областях. Мне было интересно, могу ли я использовать альфа-прозрачные цвета в методе paintComponent. Если нет, работают ли полупрозрачные PNG или есть ли эффекты для затемнения изображений. Спасибо


person Community    schedule 30.05.2014    source источник
comment
Все изображения темнее или части отдельных изображений?   -  person Terje    schedule 30.05.2014
comment
Итак, у вас есть изображение А, и вы хотите, чтобы только его части были затемнены?   -  person Terje    schedule 30.05.2014
comment
О, нет, извини, мой плохой. Я имел в виду, что все изображения темнее   -  person    schedule 30.05.2014


Ответы (2)


Я бы создал новый BufferedImage типа TYPE_INT_ARGB, отредактировал прямо в растровые данные, - установил цвет по вашему выбору (с желаемой альфой) и просто нарисовал его после всего остального в вашем методе рисования. DrawImage работает довольно быстро. И если вы хотите изменить цвета темноты, вы можете установить новые альфа-значения на лету прямо в массив данных изображения.

person Terje    schedule 30.05.2014

Вы можете использовать прозрачность/непрозрачность в java.

Здесь можно найти основную информацию о процедуре. Важным шагом является использование объекта AlphaComposite для установки альфа-значения вашего рисунка.

person Adam Yost    schedule 30.05.2014