我目前正在製作全屏遊戲,我希望能夠拍攝一些截圖。 我發現這個小的代碼片段:ScreenShot解決方案需要我的桌面屏幕
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按鈕時運行。這不是它自己的方法。
我會盡量玩這個。但什麼組件將需要?實際的JFrame? – Kaizer
EDIT ---------------------------- 嘗試了這與JFrame,但它只是一個白色的屏幕,認爲這可能是我正在使用忽略重繪,並使用雙緩衝和update()和draw()。 在保存圖像之前,我試圖關閉忽略重新繪製,然後在保存圖像後再次打開它。但仍然只有白屏。 – Kaizer
AHA。我知道了。我只需要將從c.paint調用的方法更改爲draw方法。謝謝一堆。 :) – Kaizer