2016-09-15 122 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