Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Como guarda el contenido de un panel como una imagen

trazo lineas sobre el area de un panel mediante este codigo

public void mouseDragged(MouseEvent e)
{

if(!e.isMetaDown()) //Caso de que no sea segundo click del ratón
{

gpaneldibujo = (Graphics2D)dibujo.getGraphics();

if(rblinea.isSelected() || rbborrar.isSelected() )
{

if(rbborrar.isSelected())
{
gpaneldibujo.setColor(Color.WHITE);

}
else
{
gpaneldibujo.setColor(Color.BLACK);

}


int anchoLinea=slider.getValue();
gpaneldibujo.setStroke(new BasicStroke(anchoLinea));

int x = e.getX();
int y = e.getY();

gpaneldibujo.drawLine(auX, auY, x,y);

auX = x;
auY = y;
gpaneldibujo.dispose();
}
}

Luego necesito guarda lo que he dibujado como una imagen....intento hacerlo con este codigo

if ("Guardar".equals(e.getActionCommand()) )
{
int wd = dibujo.getWidth();
int hd = dibujo.getHeight();

BufferedImage imagedibujo = new BufferedImage(wd, hd, BufferedImage.TYPE_INT_RGB);
Graphics2D gdibujo = imagedibujo.createGraphics();

dibujo.paint(gdibujo);
gdibujo.dispose();


File fichero = new File("foto.jpg");
String formato = "jpg";
try {
ImageIO.write(imagedidujo, formato, fichero);
} catch (IOException b)
{
System.out.println("Error de escritura");
}

}

pero lo que me guarda es una imagen vacia...no me guarda los trazoz hechos en el panel.....Agradeceria...si alguien tiene la solucion..me ayude... gracias

noviembre 4, 2013 | Registered Commenterovalenzuela