• Java 实现截屏


    操作系统:Windows 10 x64

    参考:https://blog.csdn.net/weixin_40657079/article/details/83961708

     1 import java.awt.AWTException;
     2 import java.awt.Desktop;
     3 import java.awt.Dimension;
     4 import java.awt.Rectangle;
     5 import java.awt.Robot;
     6 import java.awt.Toolkit;
     7 import java.awt.image.BufferedImage;
     8 import java.io.File;
     9 import java.io.IOException;
    10 import java.text.DateFormat;
    11 import java.text.SimpleDateFormat;
    12 import java.util.Date;
    13 
    14 import javax.imageio.ImageIO;
    15 
    16 public class Main {
    17 
    18     public static void main(String[] args) throws AWTException, IOException {
    19         // 获取屏幕的尺寸
    20         Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
    21         System.out.println("The width and the height of the screen are " + screenSize.getWidth() + " x " + screenSize.getHeight());
    22         
    23         // 截取屏幕
    24         BufferedImage image = new Robot().createScreenCapture(new Rectangle(screenSize));
    25         
    26         // 设置日期格式,作为目录名
    27         DateFormat dfDirectory = new SimpleDateFormat("yyyyMMdd");
    28         // 创建一个用于保存图片的文件夹
    29         File screenCaptureDirectory = new File("J:" + File.separator + "ScreenCapture" + File.separator + dfDirectory.format(new Date()));
    30         if (!screenCaptureDirectory.exists()) {
    31             screenCaptureDirectory.mkdirs();
    32             System.out.println("The directory " + screenCaptureDirectory.getName() + " is created.");
    33         }
    34         
    35         // 设置日期格式,作为图片名
    36         DateFormat dfImageName = new SimpleDateFormat("yyyyMMddhhmmss");
    37         // 指定路径,并以特定的日期格式作为图片的名称
    38         File imageFile = new File(screenCaptureDirectory, (dfImageName.format(new Date()) + ".png"));
    39         
    40         // 以指定的图片格式将截取的图片写到指定的文件
    41         ImageIO.write(image, "png", imageFile);
    42         
    43         // 自动打开图片(没看懂!)
    44         if (Desktop.isDesktopSupported() && Desktop.getDesktop().isSupported(Desktop.Action.OPEN)) {
    45             Desktop.getDesktop().open(imageFile);
    46         }
    47     }
    48 }

    控制台输出的信息:

    The width and the height of the screen are 1920.0 x 1080.0
    The directory 20190504 is created.

     

    新创建的文件夹,以及截取的图片:

    截取的图片:

  • 相关阅读:
    21Gorm关联关系.md
    18项目的关闭与重启.md
    15最兼容标准库的日志库logrus.md
    接口性能指标QPSTPS并发量
    19Gorm入门.md
    20Gorm增删查改.md
    17配置管理神器Viper.md
    ssh长时间连接不上
    mount.nfs: Failed to resolve server XXX.isilon.com: System error
    zabbix_agentd [5878]: cannot create PID file [/var/run/zabbix/zabbix_agentd.pid]: [13] Permission denied
  • 原文地址:https://www.cnblogs.com/Satu/p/10807740.html
Copyright © 2020-2023  润新知