代码如下:
1 package com.zb.onlinesource; 2 import java.awt.Dimension; 3 import java.awt.Rectangle; 4 import java.awt.Robot; 5 import java.awt.Toolkit; 6 import java.awt.image.BufferedImage; 7 import java.io.File; 8 9 import javax.imageio.ImageIO; 10 11 /** 12 * 对屏幕进行拍照(屏幕截图),保存为图片,格式任意设置,比如 jpg、png、jpeg、gif 13 * 14 * 可直接运行main方法测试 15 * 16 */ 17 public class ScreenCaptureUtil { 18 19 private String fileName; //文件名称 20 21 private String imageFormat; //图像文件的格式 22 23 private String defaultImageFormat="png"; 24 25 Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize(); 26 27 /**************************************************************** 28 * 默认的文件前缀为capture,文件格式为PNG格式 29 ****************************************************************/ 30 public ScreenCaptureUtil() { 31 imageFormat = defaultImageFormat; 32 } 33 34 /**************************************************************** 35 * 本构造支持JPG和PNG文件的存储 36 ****************************************************************/ 37 public ScreenCaptureUtil(String fileName,String format) { 38 this.fileName = fileName; 39 this.imageFormat = format; 40 } 41 42 /**************************************************************** 43 * 对屏幕进行拍照 44 ****************************************************************/ 45 public void snapShot(){ 46 try{ 47 //拷贝屏幕到一个BufferedImage对象 48 BufferedImage screenshot = (new Robot()).createScreenCapture(new Rectangle(0, 0, (int) dimension.getWidth(), (int) dimension.getHeight())); 49 //这里的文件名称,可以自行设置 50 String name = fileName + "." + imageFormat; 51 File f = new File(name); 52 System.out.print("Save File " + name); 53 //将screenshot对象写入图像文件 54 ImageIO.write(screenshot, imageFormat, f); 55 System.out.print(" ..Finished!\n"); 56 }catch (Exception ex) { 57 System.out.println(ex); 58 } 59 } 60 61 /** 62 * main测试。第二个参数是图片的格式。可以任意设置,比如 jpg、png、jpeg、gif都可以。 63 */ 64 public static void main(String[] a){ 65 ScreenCaptureUtil ScreenCapture = new ScreenCaptureUtil("E:\\Hello111", "jpg"); 66 ScreenCapture.snapShot(); 67 } 68 }
原文:http://www.cnblogs.com/zhoubang521/p/5200154.html