|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Oct 2006
Messaggi: 46
|
paintComponent
Salve,
sto programmando con le swing ed ho un disegno fatto con il paintComponent su un pannello. Ora vorrei sapere come posso salvare (tramite un bottone o dal menù che ho già creato) l'immagine disegnata. |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Dipende da cosa intendi per disegno. Supponiamo che sia un disegno vettoriale, cioè nel paintComponent richiami metodi che disegnano un'immagine a colpi di draw e fill Shape. In questo caso, per salvare l'immagine prima crei un buffer che abbia le stesse dimensioni del componente:
Codice:
Insets margins = component.getInsets();
int width = component.getWidth() - (margin.left + margin.right);
int height = component.getHeight() - (margin.top + margin.bottom);
BufferedImage buffer =
new BufferedImage(width, height, BufferedImage.TYPE_INT_ARGB);
Codice:
Graphics graphics = buffer.getGraphics(); graphics.translate(-margins.left, -margins.top); component.paintComponent(graphics); Codice:
File file = new File("immagine.png");
ImageIO.write(buffer, "png", file);
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 10:56.


















