在这个程序中,我们将看到如何使用Java程序截取屏幕截图并将屏幕截图保存在所需的文件夹中。
我们使用Java.awt.Robot类来捕获屏幕的像素。它提供了像createScreenCapture这样捕获当前屏幕的方法。此方法将捕获的图像作为可以保存为文件的BufferedImage对象返回。它还使用ImageIO将其保存为 PNG 图像格式。 Toolkit.getDefaultToolkit().getSize()方法用于获取屏幕大小。
serialVersionUID是 Serializable 类的通用版本标识符。使用线程是为了在执行程序后我们可以切换到我们想要截屏的屏幕。 120s 是以秒为单位的时间,即 2 分钟。
注意:请注意方法名称中的大写和小写。 Case 的细微变化可能会导致错误。
如何使用该程序捕获屏幕截图:
- 在记事本中编写程序。
- 将其另存为屏幕截图。 Java并在命令提示符上运行它。
- 如有任何问题,请参阅最后的屏幕截图。
// Java Program to Capture full
// Image of Screen
import java.awt.AWTException;
import java.awt.Rectangle;
import java.awt.Toolkit;
import java.awt.Robot;
import java.awt.image.BufferedImage;
import java.io.IOException;
import java.io.File;
import javax.imageio.ImageIO;
public class Screenshot {
public static final long serialVersionUID = 1L;
public static void main(String[] args)
{
try {
Thread.sleep(120);
Robot r = new Robot();
// It saves screenshot to desired path
String path = "D:// Shot.jpg";
// Used to get ScreenSize and capture image
Rectangle capture =
new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage Image = r.createScreenCapture(capture);
ImageIO.write(Image, "jpg", new File(path));
System.out.println("Screenshot saved");
}
catch (AWTException | IOException | InterruptedException ex) {
System.out.println(ex);
}
}
}
输出 :
参考:
http://viralpatel.net/blogs/how-to-take-screen-shots-in-java-taking-screenshots-java/
http://www.javatechblog.com/ Java/how-to-take-screenshot-programmatically-in-java/