Enregistrer l'image du viewport d'un jscrollpane
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:
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:
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 :)