Доброго времени суток, хабравчане!
Далее выложу рецепт для Java программы делающей снимок экрана.
Для приготовления блюда нам нужно:
Начинаем с того что используем
В итоге получаем что то вроде:
Все помещается в App.java и жарится в командной строке:
Запускаем:
Раз два три! Вот и все! Берем снимок.
P.S. Для ленивых: скачиваем архив с .java файлами для приготовления.
Далее выложу рецепт для Java программы делающей снимок экрана.
Для приготовления блюда нам нужно:
- Место, где сохранить снимок. Берем домашнюю директорию пользователя. Для Windows: это Desktop.
- Знание размера экрана:
Toolkit
нам в помощь. - В общем-то, и все что нужно, приступаем.
Начинаем с того что используем
Robot
класс, в котором доступен метод createScreenCapture()
. Данный метод позволяет получить снимок произвольно выбранной части экрана. Для получения размера экрана берем метод getScreenSize()
из класса Toolkit
.В итоге получаем что то вроде:
package habra.screen;
import java.io.File;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.Rectangle;
import java.io.IOException;
import java.awt.AWTException;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import javax.swing.filechooser.FileSystemView;
public class App {
public static void main(String[] args) {
try {
ImageIO.write(grabScreen(), "png", new File(getHomeDir(), "screen.png"));
} catch (IOException e) {
System.out.println("IO exception"+e);
}
}
private static File getHomeDir() {
FileSystemView fsv = FileSystemView.getFileSystemView();
return fsv.getHomeDirectory();
}
private static BufferedImage grabScreen() {
try {
return new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())) ;
} catch (SecurityException e) {
} catch (AWTException e) {
}
return null;
}
}
Все помещается в App.java и жарится в командной строке:
SET proj=screen
REM Delete classes dir
RMDIR /S /Q classes
mkdir classes
REM Compiling
javac -sourcepath src -d classes src\habra\%proj%\App.java
mkdir jars
del jars\%proj%.jar
REM Making jar
jar cfe jars\%proj%.jar habra.%proj%.App -C classes .
Запускаем:
java -jar jars\%proj%.jar
Раз два три! Вот и все! Берем снимок.
P.S. Для ленивых: скачиваем архив с .java файлами для приготовления.