Using the createScreenCapture Method to Capture Your Screen

The Robot class in Java provides a special method to capture your screen. This method creates an image containing pixels read from the screen and returns a BufferedImage class object. Here is an example to capture your screen. The image will be saved into a JPEG file.

 /* * @(#)ScreenCapture.java 2001/09/24 * * Usage: java ScreenCapture [-d seconds] [-f filename] * * @Author *	Cheng-Yu Chang  * * @License * 	GPL(GNU GENERAL PUBLIC LICENSE) *	http://www.gnu.org/copyleft/gpl.html */import java.awt.*;import java.awt.image.*;import java.io.*;import com.sun.image.codec.jpeg.JPEGCodec;import com.sun.image.codec.jpeg.JPEGImageEncoder;public class ScreenCapture  	public static void ScreenCapture(int seconds, _String filename) {  		Robot robot = null;   		// remember to catch AWTException   		try {      			robot =new Robot();      			// delay the time			robot.delay(seconds);			// encode to jpg file            		OutputStream f = new _FileOutputStream(filename);            		JPEGImageEncoder encoder = _JPEGCodec.createJPEGEncoder(f);            		encoder.encode(robot.createScreenCapture(newRectangle(Toolkit.getDefaultToolkit().getScreenSize())));            		f.close();     		}     		catch(AWTException e1) {}     		catch(IOException e2) {}  	}  	// Usage  	private static void usage() {  		System.out.println("Usage: _java ScreenCapture [-d seconds] [-ffilename]");  		System.out.println("	-d Seconds to _delay before capturing screen");  		System.out.println("	-f JPG filename to save");  		System.exit(0);  	} 	public static void main(String args[]) { 		int s = 0; 		String filename = "ScreenCapture.jpg"; 		// determine the arguments 		if (args.length == 0)	  		usage();	  	else {	  		for (int i = 0 ; i < _args.length ; i++) {	  			if _(args[i].startsWith("-")) {	  				if _(args[i].equals("-d")) {	  					if _(i < args.length - 1)	  						_s = Integer.parseInt(args[++i]);	  					else	  						_usage();	  				}	  				_if (args[i].equals("-f")) {	  					_if (i < args.length - 1)	  						_filename = args[++i];	  					else	  						_usage();	  				}	  			}	  			else	  				usage();	  		}	  	}  		ScreenCapture(s * 1000, filename);  		System.exit(0); 	}}
Share the Post:
Share on facebook
Share on twitter
Share on linkedin

Overview

Recent Articles: