MacOS大Sur失败后- java.awt.robot.createScreenCapture现在只捕获桌面



安装Big Sur更新后的MacOS。如有任何帮助,不胜感激。

:

调用java.awt.robot.createScreenCapture

结果:

当前可见内容的截图

:

调用java.awt.robot.createScreenCapture

结果:

桌面截图

简单的测试代码:

import javax.imageio.ImageIO;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
public class ScreenCaptureTest {
public static void main(String[] args) throws IOException, AWTException {
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(new Rectangle(0, 0, 800, 500));
File file = new File("screenCapture.png"); 
ImageIO.write(image, "png", file);
// Captures part of desktop, not current windows in focus :(
}
}

有一个变通的办法,做我需要的。截取当前焦点的屏幕截图(而不是桌面)

可以帮助别人。

Robot robot = new Robot();
robot.delay(200);
robot.keyPress(KeyEvent.VK_META);
robot.keyPress(KeyEvent.VK_SHIFT);
robot.keyPress(KeyEvent.VK_3);
robot.keyRelease(KeyEvent.VK_3);
robot.keyRelease(KeyEvent.VK_SHIFT);
robot.keyRelease(KeyEvent.VK_META);
robot.delay(200);
renameCaptureAs(filename);

相关内容

  • 没有找到相关文章

最新更新