여러 어댑터/화면이 있는 확장 데스크탑의 스크린샷을 찍으려면 다음 코드를 사용할 수 있습니다.
static void takeScreenShot(String path) throws AWTException, IOException {
Rectangle screenRect = new Rectangle(0, 0, 0, 0);
for (GraphicsDevice gd : GraphicsEnvironment.getLocalGraphicsEnvironment().getScreenDevices()) {
screenRect = screenRect.union(gd.getDefaultConfiguration().getBounds());
}
BufferedImage capture = new Robot().createScreenCapture(screenRect);
File output = new File(path);
ImageIO.write(capture, "bmp", output);
}
하지만 제 경우에는 VGA 어댑터(온보드) 1개, 모니터(HDMI) 1개만 있고 새로운 Windows 10 가상 데스크톱 기능을 사용하고 있습니다.
유사한 Java 프로그램을 사용하여 다른 가상 데스크탑의 스크린샷을 찍으려면 어떻게 해야 합니까?
(1920x2) 의 너비를 두 배로 늘려 보았지만 Rectangle
픽셀 1920에서 3840까지 촬영한 스크린샷에서는 모두 검은색입니다.
static void takeScreenShot(String path) throws AWTException, IOException {
Rectangle screenRect = new Rectangle(0, 0, 1920*2, 1080);
BufferedImage capture = new Robot().createScreenCapture(screenRect);
File output = new File(path);
ImageIO.write(capture, "bmp", output);
}