Is there a way to take a screenshot using Java and save it to some sort of image?

后端 未结 8 737
盖世英雄少女心
盖世英雄少女心 2020-11-22 06:19

Simple as the title states: Can you use only Java commands to take a screenshot and save it? Or, do I need to use an OS specific program to take the screenshot and then gra

8条回答
  •  长发绾君心
    2020-11-22 07:17

    If you'd like to capture all monitors, you can use the following code:

    GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment();
    GraphicsDevice[] screens = ge.getScreenDevices();
    
    Rectangle allScreenBounds = new Rectangle();
    for (GraphicsDevice screen : screens) {
        Rectangle screenBounds = screen.getDefaultConfiguration().getBounds();
    
        allScreenBounds.width += screenBounds.width;
        allScreenBounds.height = Math.max(allScreenBounds.height, screenBounds.height);
    }
    
    Robot robot = new Robot();
    BufferedImage screenShot = robot.createScreenCapture(allScreenBounds);
    

提交回复
热议问题