Criar BufferedImage a partir de outros

7 respostas
oitathi

Gente, eu tenho 5 metodos e cada um deles, criam 1 BufferedImage com uma determianada imagem, ou seja, se eu executar os 5 metodos eu tenho 5 BufferedImage diferente. Mas fora esses 5 metodos, eu quero ter um 6 que cria um outro BufferedImage que seja todos os 5 desenhados em um só.
Qual é a maneiram mais simples de se fazer isso?

7 Respostas

ViniGodoy

Crie um novo BufferedImage.
Chame createGraphics nela.
Use o objeto Graphics para desenhar as 5 imagens.
:slight_smile:

oitathi

então, mas eu vou ter que redesenhar novamante as 5 imagens???

Naruffy

Mas não está redesenhando as 5 imagens, vc está desenhando as 5 em uma nova.

tipo assim, fiz de cabeça, nem roda o código, só para você ter uma idéia.

// Pega as imagens
BufferedImage1 img1 = getImg1();
BufferedImage1 img2 = getImg2();
BufferedImage1 img3 = getImg3();
BufferedImage1 img4 = getImg4();
BufferedImage1 img5 = getImg5();

// Cria uma nova imagem e desenha as 5 nelas

BufferedImage imgComTodas = new BufferedImage(/*Não lembro o construtor de cbeça*/);

Graphics2D g = imgComTodas.createGraphics();

// Lembre-se de calcular o x e y para que uma não sobreponha a outra
g.drawImage(img1, null, x, y);
g.drawImage(img2, null, x, y);
g.drawImage(img3, null, x, y);
g.drawImage(img4, null, x, y);
g.drawImage(img5, null, x, y);
oitathi

outra coisa, eu tenho o seguinte trecho de código:

bf6 =  new BufferedImage(600,600,BufferedImage.TYPE_INT_ARGB);
Graphics2D gr = bf6.createGraphics();
        wr = bf.getRaster();
        wr.setDataElements(0,0,600,600,vMap);// onde vMap é um vetor com a minha paleta de cores

Como faço pra salvar essa imagem q vai ser criada no buffer em um arquivo png?
obrigada!

Naruffy

Utilize o método write da classe ImageIO

[]s

oitathi

isso!! valeu tks!!!

luistiagos

o que exatamente vc quer fazer?
desenvolvi uma api de PDI em meu TCC uma dessas posso te ajudar…

Criado 24 de novembro de 2010
Ultima resposta 24 de nov. de 2010
Respostas 7
Participantes 4