zoukankan      html  css  js  c++  java
  • 通过java进行电脑屏幕截图

    package image;
    
    import java.awt.Desktop;
    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 java.text.SimpleDateFormat;
    import java.util.Date; 
    import javax.imageio.ImageIO;
    
    public class CaptureScreen {
     
        public static void captureScreen(String fileName, String folder) throws Exception {
     
            Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
            Rectangle screenRectangle = new Rectangle(screenSize);
            Robot robot = new Robot();
            BufferedImage image = robot.createScreenCapture(screenRectangle);
            // 截图保存的路径 
            File screenFile = new File(fileName);    
            // 如果路径不存在,则创建  
            if (!screenFile.getParentFile().exists()) {  
                screenFile.getParentFile().mkdirs();  
            } 
            //判断文件是否存在,不存在就创建文件
            if(!screenFile.exists()&& !screenFile .isDirectory()) {
                screenFile.mkdir();
            }
            
            File f = new File(screenFile, folder);        
            ImageIO.write(image, "png", f);
            //自动打开
            /*if (Desktop.isDesktopSupported()
                     && Desktop.getDesktop().isSupported(Desktop.Action.OPEN))
                        Desktop.getDesktop().open(f);*/
        }
     
        public static void main(String[] args) {
            Date dt=new Date();
            SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
            SimpleDateFormat sdf1=new SimpleDateFormat("yyyyMMddHHmmss");
            String data=sdf.format(dt);
            String rd=sdf1.format(dt);
            try {
                captureScreen("F:\image\"+data,rd+".png");
            } catch (Exception e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
     
    }
  • 相关阅读:
    ES6:Iterator遍历器
    前端:对BFC的理解
    前端:性能优化之防抖与节流
    ES6新增数据类型Symbol
    ajax和fetch、aixos的区别
    我对js数据类型的理解和深浅(copy)的应用场景
    egg的基本使用
    前端:css3的过渡与动画的基础知识
    Java基础篇之类
    JAVA基础篇之Scanner
  • 原文地址:https://www.cnblogs.com/feitianshaoxai/p/6560110.html
Copyright © 2011-2022 走看看