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.
新创建的文件夹,以及截取的图片:
截取的图片:
Java 实现截屏的更多相关文章
- java实现截屏
import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit ...
- JAVA之网页截屏
先吐槽一下下: 表示接近两个月没有敲代码了,现在看一下代码都感觉有点生了.三天打鱼两天晒网是不行的,再说我本来就有“健忘症”,真的是木有办法啊 ̄へ ̄.我一直信奉一句话:“勤能补拙”,它也是我学习路上的 ...
- 一个类实现Java截屏并保存到指定文件夹
不知小伙伴们有没有遇到过使用java来截屏的需求,截屏后保存到指定的目录,在桌面上没有任何体现,完全不知道已经被截屏了.至于截屏后怎么做,可能有的老铁只是好奇想知道某人在干啥?也有的老铁可能想进行文字 ...
- Java开发的一个简单截屏工具
//源代码 import java.awt.*;import java.awt.datatransfer.DataFlavor;import java.awt.datatransfer.Transfe ...
- JAVA实现的截屏程序
http://hadeslee.iteye.com/blog/125386 http://www.jb51.net/article/75114.htm JAVA截屏程序(第三版) JavaEXTSwi ...
- 【解决Jira】Chrome提示Java插件因过期而遭到阻止(JIRA上传截屏截图)
最近经常被这个问题所困扰:用Chrome访问JIRA上传截屏截图时,地址栏下面弹出通知,提示JAVA插件已过期.但是由于公司要求统一开发环境和设置,不能更新到最新版,就像这样: 结果网页上的Java就 ...
- Java实现网页截屏功能(基于phantomJs)
公司最近有个需求:把用户第一次的测量身体信息和最近一次测量信息进行对比,并且需要把对比的数据截成图片可以发给用户(需要在不打开网页的情况下实时对网页进行截图然后保存到服务器上,返回图片地址),通过网上 ...
- Java 截屏工具类
PrintScreenUtils.java package javax.utils; import java.awt.AWTException; import java.awt.Dimension; ...
- java截屏简单例子
原文:http://www.open-open.com/code/view/1444211411979 java截屏 * 运行后将当前屏幕截取,并最大化显示. * 拖拽鼠标,选择自己需要的部分. * ...
随机推荐
- ios Standard Framework和Umbrella Framework
Standard Framework:标准库,通过引用对应的header文件而不是引用master header 文件来引用类(也可以通过引用Master Header file来引用需要使用的类), ...
- Mybatis 枚举类处理
目录 类型处理器(TypeHandler) 内置的枚举处理器 EnumTypeHandler源码 自定义枚举类处理 通用枚举处理器 Git 类型处理器(TypeHandler) 无论是 MyBatis ...
- Educational Codeforces Round 68 (Rated for Div. 2)-D. 1-2-K Game
output standard output Alice and Bob play a game. There is a paper strip which is divided into n + 1 ...
- RGB打水印在YUV图片上
一. 概述 将RGB图片打在YUV上需要注意的是, 字体之外应该透明, 否则背景也会被覆盖不好看, 所以RGB必须有透明度, 本测试格式为BMP ARGB8888(也即B是最低字节, A是最高字节 ...
- Myeclipse 连接数据库(jdbc)
1.找到DataBase Explorer,如下图所示: 2.点击下图红框内图标,new 3.进入下图界面 如果是JDBC驱动按下图配置: driver name自己起 url一定要注意:jdbc:m ...
- JVM 中的对象及引用
JVM中对象的创建过程 对象的内存分配 虚拟机遇到一条 new 指令时,首先检查是否被类加载器加载,如果没有,那必须先执行相应的类加载过程. 类加载就是把 class 加载到 JVM 的运行时数据区的 ...
- SpringBoot简单(登录/显示/登出)工程下载 附带打包成ROOT.war文件并发布到tomcat里
下载地址:https://files.cnblogs.com/files/xiandedanteng/SessionShare20191226-1.zip 之前的工程仅能在Eclispe里跑起来,要把 ...
- [Java数据结构]LinkedHashMap,TreeMap
HashMap不能记住插入时的顺序,但LinkedHashMap可以做到这一点. 例程: Map<Integer,String> empMap=new LinkedHashMap<I ...
- IEDA使用Tomcat后控制台中文出现乱码
如下图所示,Intellij IDEA显示中文为乱码, 根据Intellij IDEA控制台输出,Tomcat Log出现乱码,因此可以将问题定位到Tomcat上,具体解决方法: 第一步:打开Tom ...
- 服务器搭建远程docker深度学习环境
服务器搭建远程docker深度学习环境 本文大部分内容参考知乎文章 Docker+PyCharm快速搭建机器学习开发环境 搭建过程中出现ssh连接问题可以查看最后的注意事项 Docker Docker ...