Bonjour,
J'ai un problème avec la méthode Image.write qui me renvoie false sans que j'arrive à comprendre pourquoi.
J'ai fait un thread qui doit enregistrer une image de façon périodique.
J'ai vérifier que le buffererImage est différent de null.
Que l'adresse était valide.
Je suis sous java 1.7 et netBeans7.4
Voici le code :
J'ai aussi essayé une autre version :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 Thread Thread_SaveImageCircular; Thread_SaveImageCircular = new Thread(new Runnable() { public void run() { int i=0; while (true) { i++; try {Thread.currentThread().sleep(60000);} catch (InterruptedException ex) {ex.printStackTrace();} try { System.out.println("Write = "+ImageIO.write(ImageCircular(),"bmp",new File("C:\\ImageCircular_"+Integer.toString(i)+".bmp"))); } catch (IOException ex) {ex.printStackTrace();} catch (IllegalArgumentException e){e.printStackTrace();} } } }); Thread_SaveImageCircular.start();
Les fichiers se créent. Mais ils restent vides puisque wrtie retourne false.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Thread Thread_SaveImageCircular; Thread_SaveImageCircular = new Thread(new Runnable() { public void run() { int i=0; File f; while (true) { i++; f = new File("C:\\ImageCircular_"+Integer.toString(i)+".bmp"); try {Thread.currentThread().sleep(60000);} catch (InterruptedException ex) {ex.printStackTrace();} try { f.createNewFile(); System.out.println("Write = "+ImageIO.write(ImageCircular(),"bmp",f)); } catch (IOException ex) {ex.printStackTrace();} catch (IllegalArgumentException e){e.printStackTrace();} } } }); Thread_SaveImageCircular.start();
Merci d'avance de votre aide.
Partager