如何在Java中截图?

可能重复:
有没有办法使用Java截图并将其保存为某种图像?

如何在Java中截图?

使用Robot#createScreenCapture()

 BufferedImage image = new Robot().createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIO.write(image, "png", new File("/screenshot.png")); 

你可以find这个代码有用。 这段代码会每10秒钟截图

 import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import javax.imageio.ImageIO; import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.*; public class screen2image { SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMdd hh mm ss a"); public void robo() throws Exception { Calendar now = Calendar.getInstance(); Robot robot = new Robot(); BufferedImage screenShot = robot.createScreenCapture(new Rectangle(Toolkit.getDefaultToolkit().getScreenSize())); ImageIO.write(screenShot, "JPG", new File("d:\\"+formatter.format(now.getTime())+".jpg")); System.out.println(formatter.format(now.getTime())); } public static void main(String[] args) throws Exception { screen2image s2i = new screen2image(); while(1==1) { s2i.robo(); Thread.sleep(10000); } } }