截图使用Robot.createScreenCapture返回黑色图像?

问题描述 投票:3回答:2

我正在尝试使用Windows 7上的以下代码捕获屏幕

 Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
 BufferedImage capture = new Robot().createScreenCapture(screenRect);
 ImageIO.write(capture, "jpg", new File("C:/capture/ScreenShot.jpg"));

而且此代码返回黑色图像,不知道为什么请帮忙。

进口情况如下:

import java.awt.AWTException;
import java.awt.Dimension;
import java.awt.Rectangle;
import java.awt.Robot;
import java.awt.Toolkit;
import java.awt.image.BufferedImage;
import java.io.File;

先感谢您。

java selenium selenium-webdriver awtrobot
2个回答
1
投票

检查一下,我认为它会对你有所帮助。

    public void screenCapture() {
    Dimension dimension = Toolkit.getDefaultToolkit().getScreenSize();
    Rectangle rectangle = new Rectangle(dimension);
    BufferedImage screen = robot.createScreenCapture(rectangle);
    try {
        ImageIO.write(screen, "jpg", new File("screenshot.jpg"));
    } catch (IOException e) {

        e.printStackTrace();
    }

刚用完这个空虚之后。 :)


-1
投票

也许,还有另一个ScreenDevice。 尝试

Robot r = new Robot(GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice());
BufferedImage capture = r.createScreenCapture(screenRect);
© www.soinside.com 2019 - 2024. All rights reserved.