簡體   English   中英

ScreenShot解決方案對我的桌面進行截屏

[英]ScreenShot solution takes a screentshot of my desktop

我目前正在制作全屏游戲,我希望能夠拍攝一些屏幕截圖。 我發現了以下代碼片段:

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按鈕時,將運行此代碼。 這不是它自己的方法。

如果您使用Swing或AWT編寫了游戲,而不是使用Robot ,則可以執行以下操作:

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 ,它可能不可見。 但是,看到您正在從游戲中拍照時,我敢肯定這不會有問題。

從我的桌面而不是實際的全屏游戲。

當游戲進行主動渲染時,這是Robot (或標准OS屏幕截圖軟件)的代表。 AFAIU對此無能為力(除此之外-用手機攝像頭抓取屏幕截圖)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM