Bonjour,

j'ai affiché une image dans un JScrollPane, jusque là tout va bien. Je veux maintenant enregistrer juste l'image qui est visible dans le jscrollpane.

Est ce que vous auriez une idée de la façon de faire ?

Pour le moment j'ai essayé comme ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
pictureScrollPane = new JScrollPane(picture);
//Récupération de l'image
Image pImg = pictureScrollPane.getViewport().createImage(null);
 
//Sauvegarde de l'image
File out = new File("C:\\test.png");
try {
	BufferedImage bufImag = new BufferedImage(pImg.getWidth(null), pImg.getHeight(null), BufferedImage.TYPE_INT_ARGB);
	ImageIO.write(bufImag, "png", out);
} catch (IOException e1) {
	e1.printStackTrace();
}
J'ai cette erreur

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at sun.awt.image.ImageRepresentation.startProduction(Unknown Source)
	at sun.awt.image.ToolkitImage.addWatcher(Unknown Source)
	at sun.awt.image.ToolkitImage.getWidth(Unknown Source)
Merci d'avance