Buenas, estoy preparando una app auxiliar muy simple cuyo objetivo es capturar una firma y guardarla. La aplicación consiste en una ventana que se abre y permite dibujar una firma y al levantar el clic del ratón la guarda con imagen automáticamente.
El problema está en que me guarda una imagen en negro completamente, y no el dibujo realizado por pantalla.
Mis conocimientos en Java no son muy avanzados, de ahí que no consiga localizar el fallo. Os pongo a continuación el código que utilizo por si me podéis ayudar.
Gracias de antemano por vuestra ayuda, pues es algo que necesito para mi trabajo.
Gracias nuevamente. Saludos.
El problema está en que me guarda una imagen en negro completamente, y no el dibujo realizado por pantalla.
Mis conocimientos en Java no son muy avanzados, de ahí que no consiga localizar el fallo. Os pongo a continuación el código que utilizo por si me podéis ayudar.
Gracias de antemano por vuestra ayuda, pues es algo que necesito para mi trabajo.
Código [Seleccionar]
package raton5;
import java.awt.*;
import java.awt.event.*;
import java.awt.image.BufferedImage;
import java.applet.*;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
@SuppressWarnings("serial")
public class RatonApplet extends Applet {
BufferedImage imagen = new BufferedImage(400,400, BufferedImage.TYPE_INT_RGB);
int uX=0, uY=0;
public void init() {
this.setBackground(Color.white);
this.addMouseListener(new java.awt.event.MouseAdapter() {
public void mousePressed(MouseEvent e) {
this_mousePressed(e);
}
public void mouseReleased(MouseEvent e) {
try {
this_mouseReleased(e);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
this.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
public void mouseDragged(MouseEvent e) {
try {
this_mouseDragged(e);
} catch (IOException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
});
}
void this_mousePressed(MouseEvent ev) {
uX=ev.getX();
uY=ev.getY();
}
void this_mouseDragged(MouseEvent ev) throws IOException {
int x = ev.getX();
int y = ev.getY();
Graphics g=getGraphics();
g.drawLine(uX, uY, x, y);
uX=x;
uY=y;
g.dispose();
}
void this_mouseReleased(MouseEvent ev) throws IOException {
File file = new File("C:\\prueba.png");
ImageIO.write(imagen, "png", file);
System.exit(1);
}
}
Gracias nuevamente. Saludos.