In this post, I am going to show you how
to take a screen shot and save it to your computer using Java API. java.awt.Robot
class provides createScreenCapture method to capture a screen shot.
Capture
full screen
Following statements are used to capture full screen.
Following statements are used to capture full screen.
Robot robot = new Robot(); Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit().getScreenSize()); BufferedImage screenFullImage = robot.createScreenCapture(screenRect); ImageIO.write(screenFullImage, format, new File(destination));
‘format’ can be “jpg”, “png”, “bmp”,
etc.
Capture
portion of the screen
Following statements are used to capture the partial screen.
Following statements are used to capture the partial screen.
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle rect = new Rectangle(0, 0, screenSize.width / 2, screenSize.height / 2); Robot robot = new Robot(); BufferedImage screenFullImage = robot.createScreenCapture(rect); ImageIO.write(screenFullImage, format, new File(destination));
Following is
the complete working application.
import java.awt.AWTException; import java.awt.Dimension; import java.awt.Rectangle; import java.awt.Robot; import java.awt.Toolkit; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import java.util.Objects; import javax.imageio.ImageIO; public class Test { /** * Capture the full screen and save it to the destination. * * @param destination * @throws AWTException * @throws IOException */ public static void captureFullScreen(final String destination, final String format) throws AWTException, IOException { if (Objects.isNull(destination) || Objects.isNull(format)) return; Robot robot = new Robot(); Rectangle screenRect = new Rectangle(Toolkit.getDefaultToolkit() .getScreenSize()); BufferedImage screenFullImage = robot.createScreenCapture(screenRect); ImageIO.write(screenFullImage, format, new File(destination)); } /** * Capture rect portion of the screen. * * @param rect * @param destination * @param format * @throws AWTException * @throws IOException */ public static void capturePortion(final Rectangle rect, final String destination, String format) throws AWTException, IOException { if (Objects.isNull(rect) || Objects.isNull(destination) || Objects.isNull(format)) return; Robot robot = new Robot(); BufferedImage screenFullImage = robot.createScreenCapture(rect); ImageIO.write(screenFullImage, format, new File(destination)); } public static void main(String args[]) throws AWTException, IOException { Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize(); Rectangle rect = new Rectangle(0, 0, screenSize.width / 2, screenSize.height / 2); captureFullScreen("fullscreen", "png"); capturePortion(rect, "halfScreen", "jpg"); } }
No comments:
Post a Comment