Java - App para dibujar firma y guardarla como imagen

   
Vista:

App para dibujar firma y guardarla como imagen

Publicado por Daniel (1 intervención) el 12/01/2015 14:49:45
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.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder