Faire capture ecran + redimensionnement image

Description

Voici une petite source afin de pallier au nombre de questions relative à l'encodage d'image et autre capture d'écran, ainsi que le redimensionnement d'une image ... code source de moins de 70 lignes et encore avec tous les commentaires et les headers de fichier source ...

Source / Exemple :


public class ScreenShotFactory {

    public final static String IMAGE_TYPE_JPEG = "jpeg";

    public final static String IMAGE_TYPE_GIF = "gif";

    public final static String IMAGE_TYPE_PNG = "png";

    public static void screenShot(Rectangle screenArea,
            Dimension screenshotFinalDimension, String pictureName,
            String compressionType) {
        BufferedImage buf = null; // Notre capture d'écran originale
        BufferedImage bufFinal = null; // Notre capture d'écran redimensionnée

        try {
            // Création de notre capture d'écran
            buf = new Robot().createScreenCapture(screenArea);
        } catch (AWTException e) {
            e.printStackTrace();
        }
        // Création de la capture finale
        bufFinal = new BufferedImage(screenshotFinalDimension.width,
                screenshotFinalDimension.height, BufferedImage.TYPE_INT_RGB);
        // Redimensionnement de la capture originale
        Graphics2D g = (Graphics2D) bufFinal.getGraphics();
        g.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
                RenderingHints.VALUE_INTERPOLATION_BILINEAR);
        g.drawImage(buf, 0, 0, screenshotFinalDimension.width,
                screenshotFinalDimension.height, null);
        g.dispose();

        // Ecriture de notre capture d'écran redimensionnée
        try {
            ImageIO.write(bufFinal, compressionType, new File(pictureName));
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

    public static void main(String[] args) {
        ScreenShotFactory.screenShot(new Rectangle(0, 0, 100, 100),
                new Dimension(50, 50), "test.png",
                ScreenShotFactory.IMAGE_TYPE_PNG);
    }
}

Conclusion :


Human knowledge belongs to the world !

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.