import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class ScreenCaptureCmd {
public static void main(String[] args) {
Robot ro = null;
BufferedImage bi = null;
Dimension di = null;
Rectangle rec = null;
try {
ro=new Robot(); // (通过本地操作)控制鼠标、键盘等实际输入源(java.awt)
Toolkit tk=Toolkit.getDefaultToolkit(); // AWT组件的抽象父类(java.awt)
di=tk.getScreenSize();
rec=new Rectangle(0,0,di.width,di.height);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
for(int i=1;i<20;i++) {
try {
bi=ro.createScreenCapture(rec);
BufferedImage get=bi.getSubimage(0,0,di.width,di.height);
String filePath = "C:/Users/xx/Desktop/"+i;
doSave(get, filePath, "jpg");
Thread.sleep(500);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
//公用的处理保存图片的方法
public static void doSave(BufferedImage get, String filePath, String type){
try{
if(get==null){
System.out.println("图片不能为空!!");
return;
}
String about="PNG";
String ext=filePath + ".png";
File file = new File(filePath);
if("jpg".equalsIgnoreCase(type)){
if(!ext.endsWith(".jpg")){
String ns=ext+".jpg";
file=new File(ns);
about="JPG";
}
} else if("png".equalsIgnoreCase(type)){
if(!ext.endsWith(".png")){
String ns=ext+".png";
file=new File(ns);
about="PNG";
}
}else if("bmp".equalsIgnoreCase(type)){
if(!ext.endsWith(".bmp")){
String ns=ext+".bmp";
file=new File(ns);
about="BMP";
}
}else if("gif".equalsIgnoreCase(type)){
if(!ext.endsWith(".gif")){
String ns=ext+".gif";
file=new File(ns);
about="GIF";
}
}
if(ImageIO.write(get,about,file)){
System.out.println("保存成功!");
} else
System.out.println("保存失败!");
} catch(Exception exe){
exe.printStackTrace();
}
}
}