Захват экрана в Java не захватывает весь экран
У меня есть небольшой фрагмент кода, который я использую для отслеживания времени - очень просто, он каждые четыре минуты делает снимок моего рабочего стола, чтобы потом я мог вернуться к тому, чем занимался в течение дня - он отлично работает Кроме случаев, когда я подключаюсь к внешнему монитору - этот код снимает только скриншот экрана моего ноутбука, а не внешний монитор большего размера, с которого я работаю, - есть идеи, как изменить код? Я запускаю OSX на тот случай, если это уместно ...
<code>import java.awt.AWTException; import java.awt.Robot; import java.awt.Rectangle; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO; class ScreenCapture { public static void main(String args[]) throws AWTException, IOException { // capture the whole screen int i=1000; while(true){ i++; BufferedImage screencapture = new Robot().createScreenCapture( new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()) ); // Save as JPEG File file = new File("screencapture"+i+".jpg"); ImageIO.write(screencapture, "jpg", file); try{ Thread.sleep(60*4*1000); } catch(Exception e){ e.printStackTrace(); } } } } </code>
Следуя предоставленному решению, я сделал некоторые улучшения, и код, для заинтересованных, находится на рассмотрении кода наhttps://codereview.stackexchange.com/questions/10783/java-screengrab