操作系统: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.

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

截取的图片:

Java 实现截屏的更多相关文章

  1. java实现截屏

    import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit ...

  2. JAVA之网页截屏

    先吐槽一下下: 表示接近两个月没有敲代码了,现在看一下代码都感觉有点生了.三天打鱼两天晒网是不行的,再说我本来就有“健忘症”,真的是木有办法啊 ̄へ ̄.我一直信奉一句话:“勤能补拙”,它也是我学习路上的 ...

  3. 一个类实现Java截屏并保存到指定文件夹

    不知小伙伴们有没有遇到过使用java来截屏的需求,截屏后保存到指定的目录,在桌面上没有任何体现,完全不知道已经被截屏了.至于截屏后怎么做,可能有的老铁只是好奇想知道某人在干啥?也有的老铁可能想进行文字 ...

  4. Java开发的一个简单截屏工具

    //源代码 import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.Transfe ...

  5. JAVA实现的截屏程序

    http://hadeslee.iteye.com/blog/125386 http://www.jb51.net/article/75114.htm JAVA截屏程序(第三版) JavaEXTSwi ...

  6. 【解决Jira】Chrome提示Java插件因过期而遭到阻止(JIRA上传截屏截图)

    最近经常被这个问题所困扰:用Chrome访问JIRA上传截屏截图时,地址栏下面弹出通知,提示JAVA插件已过期.但是由于公司要求统一开发环境和设置,不能更新到最新版,就像这样: 结果网页上的Java就 ...

  7. Java实现网页截屏功能(基于phantomJs)

    公司最近有个需求:把用户第一次的测量身体信息和最近一次测量信息进行对比,并且需要把对比的数据截成图片可以发给用户(需要在不打开网页的情况下实时对网页进行截图然后保存到服务器上,返回图片地址),通过网上 ...

  8. Java 截屏工具类

    PrintScreenUtils.java package javax.utils; import java.awt.AWTException; import java.awt.Dimension; ...

  9. java截屏简单例子

    原文:http://www.open-open.com/code/view/1444211411979 java截屏 * 运行后将当前屏幕截取,并最大化显示. * 拖拽鼠标,选择自己需要的部分. * ...

随机推荐

  1. markdown 语法总结(一)

    1.标题 代码 注:# 后面保持空格 # h1 ## h2 ### h3 #### h4 ##### h5 ###### h6 ####### h7 // 错误代码 ######## h8 // 错误 ...

  2. Commando War (贪心)

    Waiting for orders we held in the wood, word from the front never came By evening the sound of the g ...

  3. Activiti7 获取资源信息及其查询流程历史信息

    获取资源信息 /** * 获取资源信息 * * @throws IOException */ @Test public void getProcessResources() throws IOExce ...

  4. 跨年夜问题:一句并不复杂的delete竟然在delete statement处cost飙升,在数据量上升的十万级就像进入了死循环,执行后久久没有结果

    笔者使用的环境: # 类别 版本 1 操作系统 Win10 2 数据库 Oracle Database 11g Enterprise Edition Release 11.2.0.1.0 - 64bi ...

  5. python中一次性input3个整数,并用空格隔开怎么表示

    a,b,c=map(int,input('请输入3个整数用空格隔开:').split(' ')) map的使用方法:map(函数名,循环体)

  6. 吴恩达《深度学习》-第三门课 结构化机器学习项目(Structuring Machine Learning Projects)-第一周 机器学习(ML)策略(1)(ML strategy(1))-课程笔记

    第一周 机器学习(ML)策略(1)(ML strategy(1)) 1.1 为什么是 ML 策略?(Why ML Strategy?) 希望在这门课程中,可以教给一些策略,一些分析机器学习问题的方法, ...

  7. Unit2:活动

    1.基本用法 1.创建活动 Generate LayoutFile 创建布局文件 Launcher Activity 自动注册为主活动 编写顺序 活动Activity 注册.xml 界面res.xx ...

  8. java里的锁总结(synchronized隐式锁、Lock显式锁、volatile、CAS)

    一.介绍 首先, java 的锁分为两类: 第一类是 synchronized 同步关键字,这个关键字属于隐式的锁,是 jvm 层面实现,使用的时候看不见: 第二类是在 jdk5 后增加的 Lock ...

  9. Spark Pipeline官方文档

    ML Pipelines(译文) 官方文档链接:https://spark.apache.org/docs/latest/ml-pipeline.html 概述 在这一部分,我们将要介绍ML Pipe ...

  10. k8s报错解决思路

    问题1 1.报错信息如下 [root@ken1 ~]# kubectl get po The connection to the server 192.168.64.11:6443 was refus ...