J'ai une image chargée à partir du disque (stocké comme BufferedImage
), que je montre correctement sur un JPanel
mais quand j'essaye de réenregistrer cette image en utilisant la commande ci-dessous, le l'image est enregistrée dans une teinte rougeâtre.Java 1.5.0_16 couleurs corrompues lors de l'enregistrement image jpg
ImageIO.write(image, "jpg", fileName);
Remarque! l'image est un BufferedImage
et fileName
est un objet File
pointant vers le nom de fichier qui sera sauvegardé qui se terminera par ".jpg
".
J'ai lu qu'il y avait des problèmes avec les méthodes ImageIO
dans les JDK précédents, mais je ne suis pas sur l'une de ces versions autant que j'ai pu trouver. Ce que je cherche est un moyen de résoudre ce problème sans mettre à jour le JDK, cependant ayant dit que je voudrais toujours savoir dans quel JDK ce problème a été fixé (si c'est encore un bug avec le JDK que j'utilise).
Merci.
Ok, j'ai trouvé plus d'informations. J'ai essayé d'enregistrer l'image en tant que fichier png et les couleurs sont correctes. C'est donc l'encodeur jpg qui semble être incorrect. Il est vraiment important pour moi de sauvegarder l'image en tant que fichier jpg car les fichiers png sont volumineux. Quelqu'un a-t-il d'autres informations? Y at-il peut-être un autre mécanisme pour enregistrer l'image en tant que fichier jpg, peut-être grâce à la boîte à outils? – Coder