PDA

View Full Version : [JAVA] ottenere BufferedImage da componente


Oceans11
08-10-2007, 19:26
ciao a tutti

Ho un componente su cui disegno con l'oggetto graphics2d....ora volevo sapere se è possibile ottenere dal disegno che ho fatto un oggetto di tipo BuffereddImage per poterlo così salvare su file come immagine png.

grazie

andbin
08-10-2007, 19:53
Ho un componente su cui disegno con l'oggetto graphics2d....ora volevo sapere se è possibile ottenere dal disegno che ho fatto un oggetto di tipo BuffereddImage per poterlo così salvare su file come immagine png.Crei il BufferedImage, prendi il suo Graphics2D e ci disegni sopra.

PGI-Bis
08-10-2007, 20:42
Ammazza, una risposta fulminea :D

I componenti hanno un metodo "print" che fa le stesse cose che fa paint (e paintComponent di rinvio) solo che ti permette di disegnare il componente su un Graphics2D a piacere.

Quello che ti dice andbin è, in sintesi (ma non così sintesi) :D

BufferedImage immagine = new BufferedImage(
componente.getWidth(), componente.getHeight(),
BufferedImage.TYPE_INT_ARGB);
Graphics2D graphics = immagine.createGraphics();
componente.print(graphics)

A questo punto "immagine" conterrà la riproduzione grafica del componente così come appare sullo schermo. Questa immagine potrà quindi essere salvata (ImageIO.write(...)) o manipolata come meglio credi.

Oceans11
09-10-2007, 09:52
siete i miei eroi!!!!!!!!!!!!!!!!!!!!!!!! :D