Applet Class
/** *@ Tapas ku. jena *mail: tapas.friends@gmail.com */ //SignaptureApp.java import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; import javax.imageio.ImageIO; import java.applet.Applet; public class SignaptureApp extends Applet implements MouseMotionListener ,MouseListener{ int width; int height; Image img; Graphics graph; int lock = 0; Point p; public void init() { width = getSize().width; height = getSize().height; img = createImage(width, height); graph = img.getGraphics(); graph.setColor(Color.BLUE); addMouseListener(this); addMouseMotionListener(this); } @Override public void mouseDragged(MouseEvent e) { if (lock == 1) { return; } int x = e.getX(); int y = e.getY(); graph.setColor(Color.BLUE); graph.drawLine(p.x,p.y,x, y); p=e.getPoint(); repaint(); } @Override public void mouseMoved(MouseEvent e) { } @Override public void paint(Graphics g) { update(g); } @Override public void update(Graphics g) { g.drawImage(img, 0, 0,this); } //This Method save the signeture to a file in to server as an image(png) public void sign() { BufferedImage bufferedImage = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB); bufferedImage.createGraphics().drawImage(img, 0, 0, this); try { ByteArrayOutputStream byteStream = new ByteArrayOutputStream(); ImageIO.write(bufferedImage, "png", byteStream); byte[] buf = byteStream.toByteArray(); URL url = new URL("http://localhost:8080/SignApp/UploadPhoto"); HttpURLConnection con = (HttpURLConnection) url.openConnection(); con.setDoInput(true); con.setDoOutput(true); con.setUseCaches(false); con.setChunkedStreamingMode(1000); con.setRequestProperty("Content-Type", "application/octet-stream"); con.setRequestMethod("POST"); OutputStream os = con.getOutputStream(); os.write(buf); System.out.println("Saved"); os.flush(); os.close(); } catch (IOException e1) { System.out.println("Error during sending file to server"); e1.printStackTrace(); } } public void lock() { lock = 1; } public void unlock() { lock = 0; } public void clear() { graph.setColor(Color.white); graph.fillRect(0, 0, width, height); graph.setColor(Color.black); repaint(); } @Override public void mouseClicked(MouseEvent e) { if (lock == 1) { return; } int x = e.getX(); int y = e.getY(); graph.fillOval(x, y, 3, 3); repaint(); } @Override public void mouseEntered(MouseEvent e) { } @Override public void mouseExited(MouseEvent e) { } @Override public void mousePressed(MouseEvent e) { p=e.getPoint(); } @Override public void mouseReleased(MouseEvent e) { } }
Servlet Class
/** *@ Tapas ku. jena *mail: tapas.friends@gmail.com */ //UploadPhoto.java import java.io.*; import javax.servlet.*; import javax.servlet.http.*; public class UploadPhoto extends HttpServlet { public void doPost(HttpServletRequest req, HttpServletResponse res)throws ServletException , IOException { ServletContext sc = this.getServletContext(); try { String path = sc.getRealPath(File.separator)+"Images/image.png"; File yourFile = new File(path); FileOutputStream toFile = new FileOutputStream( yourFile ); BufferedInputStream fromClient = new BufferedInputStream( req.getInputStream() ); int c; while( (c = fromClient.read()) != -1) { toFile.write(c); System.out.println("Image Uploading"); } System.out.println("Upload Completed...."); toFile.flush(); toFile.close(); fromClient.close(); } catch (Exception e) { System.err.println("Error occoured at serverside during upload"); e.printStackTrace(); } } public void doGet(HttpServletRequest request,HttpServletResponse response) throws IOException,ServletException { doPost(request, response); } }
4 Response to Signature Capturing Applet
I went to http://www.emuzix.net/capture.php and tried to record file and than save it but nothing has been wrote on my system.
The Applet works in Eclipse but when I run Applet in browser than I can only see Applet and nothing record on system. Y SO ?
Hi ,
In applet,how capture the sign .
can you explain how to capture and store it in system.
Hi Janardhan...You can drag and draw your signature on mouse.
Hi ,
After drawing my signature ,how to save the signature as a image or any other format.
how to use the upload photo class ,in the SignatureApp class you mentioned url
i.e URL url = new URL("http://localhost:8080/SignApp/UploadPhoto");
One more thing there is no jsp or html page , how to run this one on server.
Can you please explain me,
Thanks ,
Janardhan
Post a Comment