Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/01/2007, 11:58
ichamosa
 
Fecha de Ingreso: diciembre-2006
Mensajes: 7
Antigüedad: 17 años, 4 meses
Puntos: 0
Re: No se guarda archivo de imagen

Hola de nuevo.

Gracias por responderme, dogduck. No he podido sacarle partido a tu respuesta aunque lo he intentado.

En cualquier caso acabo de encontrar la respuesta a mi propblema. El fallo estaba, fijaos que tontería, en que solo cogía el nombre del fichero donde quería guardar dicha imagen, por lo que no se me creaba absolutamente nada.


Lo curioso de esto es que ahí no acabaron mis problemas, sino que descubrí que el archivo contenía una imagen en blanco en lugar del grafo deseado. Al parecer el método Image image = panel.createImage(r.width, r.height); solo crea una imagen en blanco cuyo tamaño coincide con el del panel del cual quiero sustraerla. Para guardarla en el fichero debo volver a pintarla de nuevo, con lo que el código me queda así:

private void guardarGraficoActionPerformed(java.awt.event.Actio nEvent evt) {
try {
FileDialog fd = new FileDialog(this, "Guardar grafo como ...", FileDialog.SAVE);

fd.setVisible(true);
String name = fd.getDirectory() + fd.getFile() + ".jpeg";
Dimension d = panel.getSize();
Image image = panel.createImage(d.width, d.height);

// Aquí es donde repointo de nuevo el grafo
Graphics g = image.getGraphics();
int xleft = Math.abs(Pantalla2.raiz.getMinx(0)) + 120;
Pantalla2.raiz.inorder(g, xleft, 10);

ImageIO.write((BufferedImage)image, "jpeg", new File(name));
} catch (IOException ioe) {
ioe.printStackTrace();
}
}

Ahora os quería preguntar si alguno sabe como hacer para poder visualizar los archivos en el formato de imagen que quiero que aparezcan en el FileDialog, de modo que el usuario pueda elegir entre ellos el que le parezca mejor.

Un saludo y gracias por adelantado.