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截屏 * 运行后将当前屏幕截取,并最大化显示. * 拖拽鼠标,选择自己需要的部分. * ...
随机推荐
- android开发之 listview中的item去掉分割线 隐藏分割线
有三种方法: 1> 设置android:divider="@null" 2> android:divider="#00000000" #000000 ...
- googleEarth
中国航天科技集团有限公司 http://www.spacechina.com/n25/n144/n210/index.html Celestia [官网]: https://celestia.spac ...
- 项目实战 - 原理讲解<-> Keras框架搭建Mtcnn人脸检测平台
Mtcnn它是2016年中国科学院深圳研究院提出的用于人脸检测任务的多任务神经网络模型,该模型主要采用了三个级联的网络,采用候选框加分类器的思想,进行快速高效的人脸检测.这三个级联的网络分别是快速生成 ...
- shell小技巧(2)查找文件时,排除几种类型文件
代码: find -type f ! -name "*.jpg" ! -name "*.png" ! -name "*.jpeg" ! -n ...
- Ajxax技术-1
1.什么是Ajax Ajax: Asynchronous javascript and xml (异步javascript和xml). ==Ajax并不是一种新技术,而是已有技术的集合.JavaScr ...
- 20190919-02安装Xshell和CRT远程工具 000 008
Linux远程登录及相关工具介绍 Linux一般作为服务器使用,而服务器一般放在机房,你不可能在机房操作你的Linux服务器.这时我们就需要远程登录到Linux服务器来管理维护系统. Linux系统中 ...
- 本地模拟 gitlab ci 的 demo 项目
构建好的镜像能跑起来, 项目地址: https://github.com/szliugx/gitlab-ci-local 为了不每次提交,本地可以做一些模拟 gitlab ci 的测试≍,主要实现方式 ...
- JAVA读取文件夹大小
几种不同的实现方法: (一)单线程递归方式 package com.taobao.test; import java.io.File; public class TotalFileSizeSequen ...
- 难道主键除了自增就是GUID?支持k8s等分布式场景下的id生成器了解下
背景 主键(Primary Key),用于唯一标识表中的每一条数据.所以,一个合格的主键的最基本要求应该是唯一性. 那怎么保证唯一呢?相信绝大部分开发者在刚入行的时候选择的都是数据库的自增id,因为这 ...
- 手把手带你体验鸿蒙 harmonyOS
wNlRGd.png 前言 本文已经收录到我的 Github 个人博客,欢迎大佬们光临寒舍: 我的 GIthub 博客 学习导图 image.png 一.为什么要尝鲜 harmonyos? wNlfx ...