Просто, как гласит заголовок: можете ли вы использовать только команды Java, чтобы сделать снимок экрана и сохранить его? Или мне нужно использовать специальную программу для ОС, чтобы сделать снимок экрана, а затем извлечь его из буфера обмена?
java
image
screenshot
jjnguy
источник
источник
Ответы:
Вы не поверите, но вы можете использовать его
java.awt.Robot
для «создания изображения, содержащего пиксели, считываемые с экрана». Затем вы можете записать это изображение в файл на диске.Я просто попробовал, и все закончилось так:
ПРИМЕЧАНИЕ. Это захватит только основной монитор. См. GraphicsConfiguration для поддержки нескольких мониторов.
источник
Мне никогда не нравилось использовать Robot, поэтому я создал свой собственный простой метод создания снимков экрана объектов JFrame:
источник
Robot
вы также можете получить рамку окна и заголовок.Если вы хотите захватить все мониторы, вы можете использовать следующий код:
источник
источник
источник
bufferedImage будет содержать полный снимок экрана, это было протестировано на трех мониторах
источник
Вы можете использовать
java.awt.Robot
для достижения этой задачи.ниже приведен код сервера, который сохраняет снятый снимок экрана как изображение в вашем каталоге.
А это клиентский код, который выполняется в потоке и через несколько минут делает снимок экрана пользователя.
источник
Toolkit возвращает пиксели на основе PPI, в результате при использовании PPI> 100% в Windows снимок экрана не создается для всего экрана. Предлагаю сделать так:
источник