通过Robot截取屏幕简单事例
package com.wyh.io;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class TestRobot implements Runnable {
// 文件名
private String fileName;
// 文件格式
private String imageFormat;
//文件名序号
private static int incrmentNum = 1;
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getImageFormat() {
return imageFormat;
}
public void setImageFormat(String imageFormat) {
this.imageFormat = imageFormat;
}
public TestRobot() {
}
public TestRobot(String s, String format) {
fileName = s;
imageFormat = format;
}
// 截取桌面图象
public void startSnap(int i) {
try {
Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
// 通Robot获当前屏幕对象
BufferedImage screenshot = (new Robot())
.createScreenCapture(new Rectangle(0, 0, (int) dimension
.getWidth(), (int) dimension.getHeight()));
String name = fileName + incrmentNum + "." + imageFormat;
ImageIO.write(screenshot, imageFormat, new File(name));
incrmentNum++;
System.out.println("已经 保存线程 [" + i + "]" + " " + name);
} catch (Exception ex) {
System.out.println(ex);
}
}
public void run() {
System.out.println("开始截取......");
for (int i = 1;; i++) {
this.startSnap(i);
try {
Thread.sleep(3800);
} catch (Exception e) {
e.printStackTrace();
}
}
}
// test in main
public static void main(String[] a) {
TestRobot testRobot = new TestRobot("D:\\javaApp\\TestApp\\test", "jpg");
Thread thread = new Thread(testRobot);
thread.start();
}
}
分享到:
相关推荐
总结来说,`RobotUtil`是`Robot`类的一个实用工具类,通过封装和简化了`Robot`的API,为开发者提供了一种更加便捷的方式来处理键盘和鼠标模拟操作,以及屏幕颜色的读取。这极大地提高了开发效率,特别是在进行自动化...
要实现屏幕截图功能,我们需要使用Java的`java.awt.Robot`类。Robot类提供了一种生成键盘事件、鼠标事件以及捕获屏幕图像的能力。以下是一个简单的Applet类,用于截取指定区域的屏幕并保存为图片: ```java import ...
这段代码首先通过`Toolkit.getDefaultToolkit().getScreenSize()`获取了屏幕的宽度和高度,然后创建了一个`Robot`实例,调用其`createScreenCapture()`方法截取整个屏幕,并将结果存储在一个`BufferedImage`对象中。...
在Windows操作系统下,通常这类功能由C++或Visual Basic等语言实现,但Java 1.4引入的`Robot`类使得Java程序员也能轻松地实现屏幕截取。 **1. Robot类的基本概念** `Robot`类位于`java.awt`包中,它提供了一种方式...
Java Robot对象实现服务器屏幕远程监视
通过以上知识点的结合,一个完整的Java屏幕截取软件就可以被构建出来。用户只需运行程序,指定保存路径,即可轻松完成屏幕截图并保存到指定位置。这个过程不仅展示了Java的GUI编程能力,还涵盖了图像处理、文件操作...
vscode 编写 RobotFramework 详解 Vscode 是一个功能强大且广泛使用的代码编辑器,而 RobotFramework 是一个流行的自动化测试框架。本文将指导读者如何使用 Vscode 编写 RobotFramework 项目,包括安装 Vscode、...
创建`Robot`类的实例非常简单,只需要通过`new Robot()`即可。但需要注意的是,创建`Robot`对象可能会抛出`AWTException`,因为操作系统可能需要权限才能模拟输入。 `Robot`类提供了多种方法来实现不同类型的用户...
安装完成后,通常会在桌面生成快捷方式,通过快捷方式启动WebRobot。 启动WebRobot后,我们看到的是一个简洁的界面,主要由工作区、脚本编辑器和控制台组成。工作区用于展示网页元素,脚本编辑器是编写自动化脚本的...
总之,无论是通过编程还是使用第三方工具,实现屏幕截图并保存为JPG都相当简单。选择哪种方式取决于你的具体需求,比如是否需要自动化、灵活性、跨平台性等因素。记住,在进行任何编程操作时,务必确保安全,避免对...
本文将深入探讨一个使用Java编程语言实现的屏幕截取软件,该软件模仿了QQ的截图功能,包括全局快捷键以及自定义截图区域的特性。 首先,Java作为一种跨平台的编程语言,具有丰富的库和API,使其成为开发此类应用的...
首先,Java并不直接提供屏幕截图的API,但我们可以借助Java的`Robot`类和`BufferedImage`类来实现这一功能。`Robot`类能够模拟用户的键盘和鼠标操作,而`BufferedImage`则用于存储和处理图像。 1. **导入必要的库**...
ScreenCapLibrary具有以下额外功能: 拍摄PNG,JPG / JPEG,GIF和WebP格式的屏幕截图WebM格式的视频捕获,可嵌入到日志文件中调整屏幕截图的压缩/质量支持GIF 在给定的时间内拍摄多个屏幕截图支持部分屏幕截图可...
在Java编程语言中,屏幕截图是一项实用的功能,可以用于各种应用程序,例如自动化测试、故障报告或用户界面...通过了解和利用`Robot`类以及相关的图像处理API,你可以创建更复杂的屏幕截图工具或集成到其他Java项目中。
Robot类还提供了一个非常有用的功能——捕获屏幕截图。`createScreenCapture(Rectangle rect)`方法可以获取指定矩形区域的屏幕快照。 ```java Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit()....
- **Robot类**:Java中的`java.awt.Robot`类是实现屏幕截取的关键。它提供了`createScreenCapture()`方法,可以获取指定矩形区域的屏幕图像。 - **Graphics2D**:截取的图像通常是一个BufferedImage对象,可以通过...
笔者在开发过程中将网络技术与远程监控理论基础相结合,实现了以下功能:能连续获得被监控端机器屏幕变化;实现被监控端硬盘文件的上传、下载;实现对鼠标、键盘的模拟;实现在远程机器上执行任意DOS命令;远程关机...
这个类允许程序员模拟用户与操作系统进行交互,例如移动鼠标、按下键盘按键等,这对于自动化测试、屏幕截图或者创建虚拟用户行为等场景非常有用。 Robot类在Java的java.awt包中,它提供了各种方法来模拟用户输入和...