Je dois enregistrer BufferedImage en tant qu'image PNG. À l'étape suivante, j'aurai besoin d'ouvrir l'image dans un autre programme (Avisynth). Ce programme est capable d'ouvrir des images, que j'ai dessinées dans ms-paint, mais les images créées par mon programme Java ne sont pas ouvertes. Les images de mon programme et de ms-paint sont de type png, et dans windows cela me semble bon. Cela signifie que je suis capable de l'ouvrir, et l'image contient tout ce que j'ai dessiné. Dans le programme externe, il jette l'erreur suivante:JAVA: Comment créer une image "png" à partir de BufferedImage. L'image doit pouvoir être ouverte dans la bibliothèque DevIL
Avisynth open failure:
ImageReader error 'Could not open file' in DevIL library.
reading image"C:\Images\mask\mirror.png"
DevIL version 166.
(C:\User\admin\Documents\4555.avs)
est le code ici. Je l'ai essayé même avec une ligne commentée. J'ai trouvé quelque chose sur google. Ce message est typique du mauvais format d'image. Mais je ne sais pas comment faire la même image que ms-paint.
BufferedImage img = new BufferedImage(video.getWidth(), video.getHeight(), BufferedImage.TYPE_INT_ARGB);
Graphics2D g2 = (Graphics2D) img.getGraphics();
img.getGraphics().setColor(Color.white);
c.paintAll(img.getGraphics());
File f = new File(path + ".png");
opencv_core.IplImage imgs = IplImage.createFrom(img);
opencv_highgui.cvSaveImage(f.getPath(), imgs);
//ImageIO.write(img, "png", f);
Dans le code:
c is JComponent, whitch contains the image, whitch I want to save, and I used JavaCL library
Pouvez-vous joindre la ou les mauvaise (s) image (s)? Avez-vous le même problème en utilisant 'ImageIO.write' (le code commenté)? – haraldK
Oui, j'ai eu le même problème en utilisant ImageIO.write. –
voici le lien avec les fichiers: http://rabcan.wz.cz/temp.rar –