JAVA實現屏幕定時截圖

1.截取整個屏幕

功能:每隔200ms自動截取整個屏幕

public class GetImage extends TimerTask
{

    String saveDir = "H:\\whiplash";
    int imageName = 1;
    String imageFormat = "jpg";


    public void run(){

        try {
            //獲取屏幕大小
            Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();

            Rectangle rectangle = new Rectangle(screen);

            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,200);

    }
}

2.自定義截取屏幕位置與大小 

功能:每隔1s中自動截取指定區域

public class GetImage extends TimerTask
{

    int height = 120;
    int width = 1650;

    String saveDir = "H:\\whiplash";
    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);

    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章