To save the screenshot picture to a local path:
Packagecom.test;Importjava.awt.AWTException;Importjava.awt.Dimension;Importjava.awt.HeadlessException;ImportJava.awt.Rectangle;ImportJava.awt.Robot;ImportJava.awt.Toolkit;ImportJava.awt.image.BufferedImage;ImportJava.io.File;Importjava.io.IOException;ImportJavax.imageio.ImageIO; Public classMainrun {/** * @paramargs*/ Public Static voidMain (string[] args) {Try{Dimension Dimension=Toolkit.getdefaulttoolkit (). Getscreensize (); BufferedImage screenshot= (NewRobot ()). Createscreencapture (NewRectangle (0, 0, (int) Dimension.getwidth (), (int) (Dimension.getheight ())); File File=NewFile ("C:/screen.jpg"); Imageio.write (screenshot,"JPG", file); } Catch(headlessexception e) {//TODO auto-generated Catch blockE.printstacktrace (); } Catch(awtexception e) {//TODO auto-generated Catch blockE.printstacktrace (); } Catch(IOException e) {//TODO auto-generated Catch blockE.printstacktrace (); } }}
Web version, which will show the live picture as a stream back to the page:
/*** Get current screen * *@paramRequest *@paramResponse*/ Private voidGetscreenimg (HttpServletRequest request, httpservletresponse response)throwsException {thread.sleep (3000); Response.setcontenttype ("Image/jpg"); Servletoutputstream SOS=Response.getoutputstream (); //Disable page CachingResponse.setheader ("Pragma", "No-cache"); Response.setheader ("Cache-control", "No-cache"); Response.setdateheader ("Expires", 0); //Create a memory image and get its graphics contextDimension Dimension =Toolkit.getdefaulttoolkit (). Getscreensize (); BufferedImage screenshot= (NewRobot ()). Createscreencapture (NewRectangle (0, 0, (int) dimension. GetWidth (), (int) (Dimension.getheight ())); //outputting an image to the clientBytearrayoutputstream BOS =NewBytearrayoutputstream (); Imageio.write (screenshot,"JPG", BOS); byte[] buf =Bos.tobytearray (); Response.setcontentlength (buf.length); Sos.write (BUF); Bos.close (); Sos.close (); }
http://blog.csdn.net/songylwq/article/details/7714603
Java uses the Java runtime method to get the current screen method (go)