在Java中,可以使用Robot
類來進行屏幕截圖操作,即使是在headless環境下也可以使用。以下是一個簡單的示例代碼:
import java.awt.AWTException;
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;
public class ScreenCapture {
public static void main(String[] args) {
try {
Robot robot = new Robot();
Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize());
BufferedImage screenCapture = robot.createScreenCapture(screenRect);
ImageIO.write(screenCapture, "png", new File("screenshot.png"));
System.out.println("Screen captured successfully.");
} catch (AWTException e) {
System.err.println("Failed to capture screen: " + e.getMessage());
} catch (Exception e) {
System.err.println("Error: " + e.getMessage());
}
}
}
在這個示例中,我們創建了一個Robot
對象,并使用createScreenCapture()
方法來獲取屏幕截圖。然后,將截圖保存為PNG格式的文件。請注意,這段代碼需要在有屏幕的環境中運行,headless環境下無法運行。