Ответ: Проблема с getGraphics()
foldel, тут дело в том, что нельзя рисовать в "неизменяющиеся" (immutable) картинки. загруженная из файла картинка именно такой и является.
Как быть? Вот:
а. Грузишь свою картинку из файла [img1]
б. Создаёшь новую картинку, с размерами той, которую грузил, через Image.createImage(width, height) [img2]
в. Получаешь Graphics у картинки img2 [gfx]
г. Рисуешь в gfx картинку img1
д. Рисуешь в gfx всё что нужно было нарисовать поверх img1
Замечание: при создании картинки img2 она заливается белым фоном автоматически, поэтому теряется прозрачность, если она была в img1.
Вернуть её можно, пробежав по всем пикселям картинки img2 и заменив точки с цветом фона на точки с цветом 0.
Пиксели можно получить через img2.getRGB(), а заново картинку создать через Image.createRGBImage().
|