java.awt.Robot在PuTTy上拍摄空白(灰色)屏幕截图

时间:2018-07-12 02:46:58

标签: java linux screenshot awtrobot xming

除其他外,我正在尝试使屏幕截图自动化。为此,我有一个bash脚本来执行其他工作,然后使用java -jar命令调用我的jar。

在我的Java代码中,我正在使用java.awt.Robot捕获屏幕截图。本质上,这就是我的代码。

BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()));
ImageIO.write(image, "png", new File("C:\\Screenshot\\CurrentScreenshot.png"));

当我在本地IDE上运行Java代码并捕获屏幕截图时,此方法工作正常。但是,当我打包jar,部署它并运行bash脚本时,它仅捕获空白的屏幕截图,该截图完全是灰色的。图像的尺寸为全屏(136x768)。不知道为什么会这样。

我通过PuTTY连接到服务器,所以这可能是由于该原因吗?通过可以在互联网上收集的帮助,我在计算机(运行Windows 7的VM)上安装了Xming,然后启动了Xserver。我将PuTTY配置为允许X11转发。但是我仍然无法使屏幕截图正常工作。 (我的配置是否可能存在潜在问题?)

我也尝试使用这段代码,但令人惊讶的是,这对我不起作用。

Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ALT);
robot.keyPress(KeyEvent.VK_PRINTSCREEN);
robot.delay(100);
robot.keyRelease(KeyEvent.VK_PRINTSCREEN);
robot.keyRelease(KeyEvent.VK_ALT);

由于工作场所的限制,我不能使用ImageMagick等。

关于为什么我会得到灰色屏幕截图以及如何解决它的任何想法?

0 个答案:

没有答案