我有一个在线部署的应用程序,它只在Windows操作系统上按预期工作.我试图使应用程序也将工作在Mac OS上,以及但问题是,所有最大化的应用程序,如谷歌或IDE本身不包括在捕获,它只是捕获的背景.(请参阅下面代码中的screenshot)
我希望打开或最大化的应用程序被包括在屏幕截图中,但所有这些都不能使用下面的代码工作.
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.List;
public class ScreenCapture extends Application {
@Override
public void start(Stage primaryStage) {
captureScreenshot();
}
private void captureScreenshot() {
List<Screen> screens = Screen.getScreens();
for (int i = 0; i < screens.size(); i++) {
Screen screen = screens.get(i);
Rectangle2D bounds = screen.getBounds();
Robot robot = new Robot();
WritableImage screenshot = robot.getScreenCapture(null, bounds);
BufferedImage image = javafx.embed.swing.SwingFXUtils.fromFXImage(screenshot, null);
try {
ImageIO.write(image, "png", new File("screenshot" + i + ".png"));
} catch (IOException ex) {
System.out.println(ex.getMessage());
}
}
}
public static void main(String[] args) {
launch(args);
}
}
我试着在谷歌、YouTube甚至聊天网站上寻找答案,但我找不到任何解决方案.