首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ScreenShot solution为我的桌面截图

ScreenShot solution为我的桌面截图
EN

Stack Overflow用户
提问于 2012-01-20 07:58:47
回答 2查看 591关注 0票数 1

我目前正在制作一个全屏游戏,我想能够采取一些屏幕截图。我找到了这个小代码片段:

代码语言:javascript
复制
BufferedImage image = 
new Robot().createScreenCapture(new Rectangle(w.getX(), w.getY(),w.getWidth(),w.getHeight()));

ImageIO.write(image, "jpg", new File("C:\\Users\\Kaizer\\Desktop\\", "ScreenShot"             + counter + ".jpg"));

我知道它看起来不漂亮,但它是一个屏幕截图,但从我的桌面,而不是我真正的全屏游戏。Windows屏幕截图也是这样做的。

我知道有些事情我忽略了,但我无论如何也想不出来。

顺便说一句:这段代码是在播放器按下F11按钮时运行的。它不是它自己的方法。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-20 08:20:45

如果您使用Swing或AWT编写游戏,则可以执行以下操作,而不是使用Robot

代码语言:javascript
复制
private static void captureImage(Component c, String fileName)
        throws IOException {
    BufferedImage img = new BufferedImage(c.getWidth(), c.getHeight(),
            BufferedImage.TYPE_INT_RGB);
    c.paint(img.getGraphics());

    ImageIO.write(img, "jpg", new File(fileName + ".jpg"));
}

注意:根据您使用的Component,它可能需要可见,也可能不需要可见。但既然你是从游戏中拍的照片,我敢肯定这不会有什么关系。

票数 1
EN

Stack Overflow用户

发布于 2012-01-20 08:10:23

从我的桌面,而不是我真正的全屏游戏..

当游戏执行活动渲染时,这是典型的Robot (或标准操作系统屏幕截图软件)。AFAIU对此无能为力(除了-用手机摄像头抓取屏幕截图)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8935128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档