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 !
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.