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 ([email]liluqun@263.net[/email]) 
* @version 1.0 
*  
******************************************************************************/ 
 
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! ");  
     } catch (Exception ex)  
     {  
         System.out.println(ex);  
     }  
     }  
 
    public static void main(String[] args)  
     {  
     GuiCamera cam = new GuiCamera("Test", "png");  
     cam.snapShot();  
     }  


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/carefree31441/archive/2009/11/04/4768487.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值