Java|屏幕截图
时间:2022-07-22
本文章向大家介绍Java|屏幕截图,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
1 前言
初入java,想用java来实现游戏脚本功能,但是奈何刚刚入门。于是我就将其分为了几个板块:1屏幕截图,2图片比对获取关键坐标,3对关键坐标进行操作。
其中第一个屏幕截图应该是最简单的。因为我对编程是以python入门的,python对屏幕截图不是很难,同理我觉得Java也应该不难。
2 Robot类简介
对于java,屏幕截图可以主要通过一个robot来实现。使用robot类需要导入java.awt包,操作如下
Import java.awt*;
Robot类不仅可以做到屏幕截屏,基本上我们能对电脑所有的操作都能通过robot来实现。因此robot类是对模拟认为操作来运行脚本不被查封的一个好帮手。当我能熟练运用这个类的时候,我也应该能轻松写下一个脚本了。
3 java代码实例
import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class test01 {
public static void main(String[] args) throws AWTException,IOException{
//创建一个robot对象
Robot robut=new Robot();
//获取屏幕分辨率
Dimension d= Toolkit.getDefaultToolkit().getScreenSize();
//打印屏幕分辨率
System.out.println(d);
//创建该分辨率的矩形对象
Rectangle screenRect=new Rectangle(d);
//根据这个矩形截图
BufferedImage bufferedImage=robut.createScreenCapture(screenRect);
//保存截图
File file=new File("截图1.png");
ImageIO.write(bufferedImage,"png",file);
}
}
图3.1截图实例
4 结语
初入java,先从简单的屏幕截图做起,然后实现对键鼠的操作,最难的是图片比对,通过不断地学习和钻研都能实现的。
END
主 编 | 王楠岚
责 编 | 王自强
- 《Redis设计与实现》读书笔记(十) ——Redis对象相关其他设计与实现
- CI一些优秀实践
- 《Redis设计与实现》读书笔记(十一) ——Redis数据库与键空间
- assert断言
- 什么是堆和栈,它们在哪儿?
- contain_of宏定义
- 《Redis设计与实现》读书笔记(十三) ——Redis数据库其他内容与总结
- 《Redis设计与实现》读书笔记(十四) ——Redis RDB文件创建、载入与自动保存原理
- 框架 | Spark中的combineByKey
- 《Redis设计与实现》读书笔记(十五) ——Redis AOF持久化原理与实现
- PHP CodeBase: 生成N个不重复的随机数
- PHP转义Json里的特殊字符的函数
- PHP使用SOAP调用.net的WebService问题
- 框架 | spray-routing的核心流程
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- (22)Bash环境变量
- maven之在eclipse中创建maven项目
- wiki百科之将词转换为索引表示
- 【LeetCode】找出数组中重复的数字day01
- pytorch实现的transformer代码分析
- 终于搞懂HashMap的源码了!!!
- (21)Bash用户自定义变量
- python实现支持向量机之具体实现
- Spring boot 集成apollo达到配置的热加载
- ApplicationContext 和beanFactory 和 factoryBean的区别以及联系
- pytorch中的nn.Embedding
- redis的持久化存储AOF的原理
- (三十四)golang--接口
- 回溯法--八皇后问题
- (19)Bash多命令顺序执行与管道符