1. Обзор
Когда вам нужно выполнить действие на экране печати на рабочем столе, на клавиатуре есть встроенная кнопка “Prntscrn”, которая поможет вам в этом. Иногда этого достаточно.
Но проблема возникает, когда вам нужно выполнить это действие программно. Проще говоря, вам может потребоваться сохранить текущий снимок экрана в виде файла изображения с помощью Java.
Давайте посмотрим, как мы можем это сделать.
2. Класс Роботов
Java java.awt.Robot class-это основной 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. Исходный код приведенных выше примеров можно найти в проекте GitHub .