`
chenhua_1984
  • 浏览: 1234465 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论
收藏列表
标题 标签 来源
java 屏幕拍照 java 屏幕拍照 Java中编程实现屏幕截图
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;    
 
/*******************************************************************    
 * 该JavaBean可以直接在其他Java应用程序中调用,实现屏幕的"拍照"    
 * This JavaBean is used to snapshot the GUI in a     
 * Java application! You can embeded    
 * it in to your java application source code, and us    
 * it to snapshot the right GUI of the application    
 * @see javax.ImageIO    
 * @author liluqun (liluqun@263.net)    
 * @version 1.0    
 *    
 *****************************************************/    
 
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();    
 
  /****************************************************************    
  * 默认的文件前缀为GuiCamera,文件格式为PNG格式    
  * The default construct will use the default     
  * Image file surname "GuiCamera",     
  * and default image format "png"    
  ****************************************************************/    
  public GuiCamera() {    
  fileName = defaultName;    
  imageFormat=defaultImageFormat;    
      
  }    
 
  /****************************************************************    
  * @param s the surname of the snapshot file    
  * @param format the format of the image file,     
  * it can be "jpg" or "png"    
  * 本构造支持JPG和PNG文件的存储    
  ****************************************************************/    
  public GuiCamera(String s,String format) {    
      
  fileName = s;    
  imageFormat=format;    
  }    
      
  /****************************************************************    
  * 对屏幕进行拍照    
  * snapShot the Gui once    
  ****************************************************************/    
  public void snapShot() {    
      
  try {    
  //拷贝屏幕到一个BufferedImage对象screenshot    
  BufferedImage screenshot = (new Robot()).createScreenCapture(new    
  Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));    
  serialNum++;    
  //根据文件前缀变量和文件格式变量,自动生成文件名    
  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:\\", "jpg");//    
 
  cam.snapShot();    
  }    
} 
Global site tag (gtag.js) - Google Analytics