package com.kaytune.config;
import javax.imageio.ImageIO;
import javax.mail.MessagingException;
import java.awt.*;
import java.awt.image.BufferedImage;
import java.io.File;
public class Camera {
private String fileName;
private String imageFormat;//图像文件的格式
private String defaultName = "Camera";
private String defaultImageFormat = "jpg";
static int serialNum = 0;
Dimension d = Toolkit.getDefaultToolkit().getScreenSize();
public Camera() {
fileName = defaultName;
imageFormat = defaultImageFormat;
}
public Camera(String s, String format) {
fileName = s;
imageFormat = format;
}
public void snapshot() {
try {
//拷贝屏幕到一个BufferedImage对象screenshot
BufferedImage screenshot = (new Robot()).createScreenCapture(
new Rectangle(0, 0, (int) d.getWidth(), (int) d.getHeight()));
serialNum++;
//根据文件前缀变量和文件格式变量,自动生成文件名
String name = fileName + String.valueOf(serialNum) + "." + imageFormat;
System.out.println(name);
File f = new File(name);
System.out.println("Save File-" + name);
//将screenshot对象写入图像文件
ImageIO.write(screenshot, imageFormat, f);
System.out.println("..Finished");
} catch (Exception e) {
System.out.println(e);
}
}
public static void main(String[] args) throws InterruptedException, MessagingException {
while (true) {
long currentTimeMillis = System.currentTimeMillis();
Camera cam = new Camera("D:\\5kc-\\" + currentTimeMillis, "png");
cam.snapshot();
//半分钟
Thread.sleep(1000*30);
}
}
}
纯JAVA-定时自动截图
于 2021-11-30 18:33:00 首次发布