安装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);