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