Java實(shí)現(xiàn)屏幕抓屏的源代碼

2010-10-19 09:54:51來源:作者:

  import java.awt.Dimension;

  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 GuiCamera

  {

  private String fileName; //文件的前綴

  private String defaultName = "GuiCamera";

  static int serialNum=0;

  private String imageFormat; //圖像文件的格式

  private String defaultImageFormat="png";

  Dimension d = Toolkit.getDefaultToolkit().getScreenSize();

  public GuiCamera() {

  fileName = defaultName;

  imageFormat=defaultImageFormat;

  }

  public GuiCamera(String s,String format) {

  fileName = s;

  imageFormat=format;

  }

  public void snapShot() {

  try {

  //拷貝屏幕到一個(gè)BufferedImage對象screenshot

  BufferedImage screenshot = (new Robot()).createScreenCapture(new

  Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));

  serialNum++;

  //根據(jù)文件前綴變量和文件格式變量,自動(dòng)生成文件名

  String name=fileName+String.valueOf(serialNum)+"."+imageFormat;

  File f = new File(name);

  System.out.print("Save File "+name);

  //將screenshot對象寫入圖像文件

  ImageIO.write(screenshot, imageFormat, f);

  System.out.print("..Finished!n");

  }

  catch (Exception ex) {

  System.out.println(ex);

  }

  }

  public static void main(String[] args){

  GuiCamera cam= new GuiCamera("d:\test", "png");//

  cam.snapShot();

  }

  }

關(guān)鍵詞:java