1. 概述
当你需要在桌面进行截图操作时,键盘上有一个内置的PrntScr
键可以帮你完成。有时这就足够了。
但当你需要程序化地执行这个动作时,问题就来了。简单地说,你可能需要用Java将当前屏幕保存为图像文件。
让我们看看如何做到这一点。
2. Robot
类
我们将主要使用Java的java.awt.Robot
类。这个类中包含一个名为createScreenCapture
的方法,当传递特定形状时,它会截取屏幕截图:
robot.createScreenCapture(rectangle);
由于此方法返回一个java.awt.image.BufferedImage
实例,你只需使用javax.imageio.ImageIO
工具类将获取到的图像写入文件即可。
3. 截图并保存图像文件
以下就是用于截图并保存图像的Java代码:
public void getScreenshot(int timeToWait) throws Exception {
Rectangle rec = new Rectangle(
Toolkit.getDefaultToolkit().getScreenSize());
Robot robot = new Robot();
BufferedImage img = robot.createScreenCapture(rectangle);
ImageIO.write(img, "jpg", setupFileNamePath());
}
通过设置java.awt.Rectangle
实例的所需大小,你可以捕获屏幕的一部分。但在上述示例中,已设置为全屏截图,通过设置当前屏幕尺寸。
4. 总结
在这篇教程中,我们快速了解了在Java中使用屏幕截图的方法。上述示例的源代码可以在GitHub项目中找到。