上课记笔记的速度跟不上,下课又不想看回放。
没错,就是这么真实。不如用代码截图吧!
尽量把时间调节的合理,时间太快,电脑会崩溃的,哈哈哈~~~
java 屏幕截图 代码如下:
public class GetImage2 extends TimerTask {
int height = 20;
int width = 650;
String saveDir = "E:\\ScreenCapture";
int imageName = 1;
String imageFormat = "jpg";
public void run(){
try {
Rectangle rectangle = new Rectangle(150,850,width,height);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(rectangle);
ImageIO.write(image, imageFormat, new File(saveDir,imageName++ + "." + imageFormat));
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args)throws Exception {
Timer t = new Timer();
//在指定时间安排指定任务
//第一个参数,是安排的任务,第二个参数是执行的时间,第三个参数是过多长时间再重复执行
Date date = new Date();
t.schedule(new GetImage(), date,1000);
}
}
public class GetImage3 {
public static void captureScreen(String filePath, String fileName)throws Exception {
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Rectangle screenRectangle = new Rectangle(screenSize);
Robot robot = new Robot();
BufferedImage image = robot.createScreenCapture(screenRectangle);
// 截图保存的路径
File screenFile = new File(filePath + fileName);
// 如果文件夹路径不存在,则创建
if (!screenFile.getParentFile().exists()) {
screenFile.getParentFile().mkdirs();
}
// 指定屏幕区域,参数为截图左上角坐标(100,100)+右下角坐标(500,500)
BufferedImage subimage = image.getSubimage(100, 100, 500, 500);
ImageIO.write(subimage, "png", screenFile);
}
public static void main(String[] args) throws Exception {
Date now = new Date();
SimpleDateFormat sdfPath = new SimpleDateFormat("yyyyMMdd");
SimpleDateFormat sdfName = new SimpleDateFormat("yyyyMMddHHmmss");
String path = sdfPath.format(now);
String name = sdfName.format(now);
captureScreen("D:" + File.separator + path + File.separator, name + ".png");
}
}