对电脑屏幕进行拍照(屏幕截图),保存为图片---工具类


代码如下:

 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 } 

优质内容筛选与推荐>>
1、一个实现FTP上传的JAVA类
2、红岭创投
3、页面跳转时,url 传大数据的参数不全的问题+序列化对象
4、c++ 判断两圆位置关系
5、自定义实例化class


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号