Quero criar um método que você passe dois objetos Image como parametro e ele te retorne um objeto Image que é o resultado de uma imagem desenhada em cima da outra (como se cada imagem fosse uma camada).
Está certo, se a camada1 for uma imagem opaca (fundo) e a camada2 for uma imagem com pixels transparentes (frente).
Veja o exemplo que vem com o JDK, no arquivo demo\jfc\Java2D\src\java2d\demos\Images\DukeAnim.java.
J
Java_Player
thingol, é mais ou menos isso mesmo, a camada1 é uma imagem opaca, e a camada2 é uma imagem com pixels transparentes.
Mas no código que você falou do DukeAnim, no método que junta as duas camadas, ele pega o Graphics como parâmetro. Mas eu quero criar um método que não pegue um objeto Graphics como parâmetro, quero que passe só as duas imagens, e ele retorne uma imagem que é o resultado de uma imagem desenhada em cima da outra!
Eu tentei o seguinte:
public Image juntaCamadas(Image camada1, Image camada2){
BufferedImage novaImagem = new BufferedImage(100,100,BufferedImage.TYPE_INT_RGB);
Graphics g = novaImagem.getGraphics();
g.drawImage(camada1,0,0,null);
g.drawImage(camada2,0,0,null);
return novaImagem;
}
Só que isso me retornou uma imagem toda preta!! O que está errado???