[java] Probleme de sauvegarde d'image

Fermé
Blu3r - 16 juin 2015 à 15:26
KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 - 16 juin 2015 à 19:20
Bonjour,
Voila, j'ai un soucis. J'essaye dans le cadre d'un projet de bibliothèque photos d'enregistrer les images prise n'importe ou sur le disque dure, dans un répertoire spécialisé de l'application. Mon soucis c'est que ma méthode ci-dessous ne fonctionne pas avec toutes les photos:

public void sauvegarderImage1(){
if(this.lAlbum == null){
String newCheminDacces = "data/img/phototheque";
BufferedImage image;
try {
image = ImageIO.read(new File(cheminDacces));
cheminDacces = newCheminDacces+"/"+getName();
ImageIO.write(image,extension,new File(cheminDacces));
lImage = new ImageIcon(cheminDacces);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}else if(this.lAlbum != null){
String newCheminDacces = "data/img/phototheque/"+lAlbum.getNomAlbum();
BufferedImage image;
try {
image = ImageIO.read(new File(cheminDacces));
cheminDacces = newCheminDacces+"/"+getName();
ImageIO.write(image,extension,new File(cheminDacces));
lImage = new ImageIcon(cheminDacces);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}

}


En effet ce code ne fontionne qu'avec des photos de petite taille, du moins j'en ai l'impression. Mon autre soucis est que lorsque la sauvegarde fonctionne bien, les couleurs ne sont pas les memes que l'originale :/ Pourriez-vous m'aider a regler mon soucis ? Merci :D

A voir également:

1 réponse

KX Messages postés 16755 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 12 février 2025 3 020
16 juin 2015 à 19:20
Bonjour,

Pourquoi écrire deux fois exactement le même code, il n'a que le String newCheminDacces qui change...

Ensuite, je suis relativement d'accord avec ton code, même si on peut améliorer deux ou trois trucs. Mais pour ton problème il faudrait juste voir ce que vaut la variable extension, si tu as "png" tu ne devrais pas avoir de problème avec les couleurs, "jpg" peut faire des altérations de l'image mais relativement faible, pour "gif" c'est plus compliqué car ImageIO ne gère pas les calques.

public void sauvegarderImage1() {
    String newCheminDacces = "data/img/phototheque";
    if (lAlbum != null)
        newCheminDacces += "/" + lAlbum.getNomAlbum();
    try {
        BufferedImage image = ImageIO.read(new File(cheminDacces, getName()));
        ImageIO.write(image, extension, new File(newCheminDacces, getName()));
        lImage = new ImageIcon(image);
    } catch (IOException e) {
        e.printStackTrace();
    }
}
0