Как напечатать экран на Java

Как напечатать экран на Java

1. обзор

Когда вам нужно выполнить действие экрана печати на рабочем столе, на клавиатуре есть встроенная кнопка «PrntScr», которая поможет вам в этом. Иногда этого достаточно.

Но проблема возникает, когда вам нужно выполнить это действие программно. Проще говоря, вам может понадобиться сохранить текущий снимок экрана в виде файла изображения с помощью Java.

Давайте посмотрим, как мы можем это сделать.

2. КлассRobot

Класс Javajava.awt.Robot - это основной API, который мы собираемся использовать. Этот вызов содержит метод под названием «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. Исходный код приведенных выше примеров можно найти вthe GitHub project.