2016-09-15 81 views
-4

我編寫了一個代碼以在Windows 7中捕獲java屏幕截圖。 此截圖保存在我的工作區中。在java中截取屏幕截圖並將其保存在桌面上

我希望將此屏幕截圖直接保存到桌面。

import java.awt.Robot; 
import java.awt.Toolkit; 
import java.awt.image.BufferedImage; 
import java.io.File; 
import java.io.IOException;  
import java.nio.file.Files; 
import java.nio.file.Path; 
import java.nio.file.Paths; 
import javax.imageio.ImageIO; 

public class FullScreenCaptureExample { 

    public static void main(String[] args) { 
     try { 
      Robot robot = new Robot(); 
      String format = "jpg"; 
      String fileName = "FullScreenshot." + format; 

      Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); 
      BufferedImage screenFullImage = robot.createScreenCapture(screenRect); 
      ImageIO.write(screenFullImage, format, new File(fileName)); 

      System.out.println("A full screenshot saved!"); 
     } catch (AWTException | IOException ex) { 
      System.err.println(ex); 
     } 
    } 
} 
+1

在你的'fileName'變量中給你的桌面路徑? –

+0

請你給我舉個例子。謝謝 – saksham

+0

你試過了什麼?我們不是在這裏做你的工作 – swe

回答

-1

,如果你希望它被保存在桌面上你沒有使用正確的文件名。它應該包含您的桌面的路徑。比方說你的桌面可以通過以下方式訪問:C:\Users\UserName\Desktop,那麼你就應該更換statment:

String fileName = "FullScreenshot." + format; 

有:

String deskTopPath = "C:\\Users\\UserName\\Desktop"; 
String fileName = deskTopPath + "\\" + "FullScreenshot." + format; 

請注意:如果你想利用和保存多張照片,然後你應該使文件名FullScreenshot每個鏡頭都是唯一的。制定一個好的策略,使FullScreenshot名稱是唯一的(如將日期時間附加到該字符串)。

+0

我想爲圖像名稱的唯一性添加圖像名稱的時間,我可以這樣做嗎? – saksham

+0

System.currentTimeMillis();完成。謝謝 – saksham

+0

歡迎您,如果它有幫助,我的答案投票! – cdaiga

相關問題