gpt4 book ai didi

java - 如何从 directX 使用 java 截取屏幕截图

转载 作者:行者123 更新时间:2023-12-04 00:32:32 26 4
gpt4 key购买 nike

我正在寻找一种方法来使用任何正在运行的 directX 游戏的 Java 应用程序截取屏幕截图。我使用以下代码

Robot robot = new Robot();  
GraphicsConfiguration config = GraphicsEnvironment.getLocalGraphicsEnvironment().getDefaultScreenDevice().getDefaultConfiguration();
BufferedImage screenshot = robot.createScreenCapture(config.getBounds());
ImageIO.write(screenshot,"png", file);

除了在 directX 游戏中,它在任何地方都能完美运行。我对 Java 不太熟悉,对 DirectX 更不熟悉,我只是想调整这段代码。我在谷歌上搜索了很多,但一切都只会导致我已经拥有的相同代码。

您知道另一种截取 DirectX 游戏屏幕截图的方法吗?

谢谢。

最佳答案

调用 GraphicsDevice#getFullScreenWindow 可能有效,但我还没有真正测试过这段代码。

    BufferedImage screenshot;
GraphicsDevice gd = GraphicsEnvironment
.getLocalGraphicsEnvironment()
.getDefaultScreenDevice();
Window window = gd.getFullScreenWindow();
if(window == null) {
Robot robot = new Robot();
GraphicsConfiguration config = gd.getDefaultConfiguration();
screenshot = robot.createScreenCapture(config.getBounds());
} else {
screenshot = new BufferedImage(window.getWidth(),
window.getHeight(),
BufferedImage.TYPE_INT_RGB);
window.paint(screenshot.getGraphics());
}
ImageIO.write(screenshot, "png", file);

关于java - 如何从 directX 使用 java 截取屏幕截图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25943500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com