Skip to content

Increase resolution of java screenshot

I am using the following code to take a screenshot in Java:

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 javax.imageio.ImageIO;


public class Main {
    public static void main(String[] args) throws AWTException, IOException{
        Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
        Rectangle screenRectangle = new Rectangle(screenSize);
        Robot robot = new Robot();
        BufferedImage image = robot.createScreenCapture(screenRectangle);
        ImageIO.write(image, "png", new File("Path/To/screenshot.png"));

This code works, but the screen shot outputted is fairly low resolution. How can I increase the resolution of the screenshot?



There is nothing wrong with this code. I have a screen resolution of 1680×1050 pixels, and the generated png file has exactly this size.

User contributions licensed under: CC BY-SA
9 People found this is helpful