|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Perugia - San Benedetto del Tronto
Messaggi: 348
|
[Java]Generare file JPG
Mi spiego meglio:
stò creando un applicativo client server e dal lato server devo disegnare grafici di alcune semplici funzioni per poi ripassare il risultato al client. Aldilà del passaggio dati (stò usando SOAP), volevo sapere se era possibile all'interno del server salvare in formato JPG l'immagine contenuta in un JPanel. |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Sep 2008
Messaggi: 376
|
Quote:
|
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Nov 2004
Città: Tra Verona e Mantova
Messaggi: 4553
|
Se il server è headless non puoi creare un JPanel.
Comunque è possibile "stampare" un JPanel su un'immagine ed è anche piuttosto semplice. Tutti i componenti Swing hanno un metodo print che richiede come argomento un java.awt.Graphics. Graphics che puoi ottenere da un'immagine. Codice:
JPanel panel = ... BufferedImage image = new BufferedImage(panel.getWidth(), panel.getHeight(), BufferedImage.TYPE_INT_RGB); panel.printAll(image.getGraphics()); Codice:
ByteArrayOutputStream jpegdata = new ByteArrayOutputStream(); ImageIO.write(image, "jpg", jpegdata); Codice:
BufferedImage image = new BufferedImage(larghezza, altezza, BufferedImage.TYPE_INT_RGB); //INT_RGB = niente canale alpha Graphics2D graphics = image.createGraphics(); graphics.setColor(... graphics.drawLine...fil, draw... ci fai tutto quello che vuoi e quel "tutto" finisce in image.
__________________
Uilliam Scecspir ti fa un baffo? Gioffri Cioser era uno straccione? E allora blogga anche tu, in inglese come me! |
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Perugia - San Benedetto del Tronto
Messaggi: 348
|
eccomi di nuovo qui!
allora ... ho optato per salvare su un file BMP, solo che non sò perchè ma ho lo sfondo sempre nero e il resto dell'immagine disegnata correttamente: Codice:
image = new BufferedImage(larghezza, altezza, BufferedImage.TYPE_INT_RGB);
graphics = image.createGraphics();
[ ... comandi per disegnare ...]
try {
ImageIO.write(image, "bmp", new File("c:/prova.bmp"));
} catch (IOException ex) {
Logger.getLogger(Immagine.class.getName()).log(Level.SEVERE, null, ex);
}
Codice:
graphics.setBackground(Color.white); Codice:
graphics.setColor(Color.WHITE); graphics.drawRect(0,0, larghezza, altezza); ![]() Potete aiutarmi? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Jan 2006
Città: Perugia - San Benedetto del Tronto
Messaggi: 348
|
oddio che svista -_-
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:47.





















