IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Interfaces Graphiques en Java Discussion :

sauvegarder une image


Sujet :

Interfaces Graphiques en Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut sauvegarder une image
    Bonjour j'aimerai pouvoir sauvegarder une image à l'aide d'un JFileChooser
    Voici le code que j'ai déjà fait
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    JMenuItem enregistrer = new JMenuItem("Enregistrer");
    enregistrer.addActionListener(new ActionListener(){
    public void actionPerformed(ActionEvent eve){
    JFileChooser fc = new JFileChooser();
    int returnVal = fc.showSaveDialog
    (fen0.this);
    if(returnVal == JFileChooser.APPROVE_OPTION){
    }}});

    toutes les suggestions sont les bienvenues

  2. #2
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Ton JFileChooser te permet de connaitre le nom et le chemin du fichier à créer, il ne te reste plus qu'à le créer.
    Par cnotre il faut que tu dispose d'une bufferedImage (si besoin est vas voire dans la faq sur les images:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ImageIO.write(maBufferedImage,"png",new File(fc.getPath()));
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    quel est le code pour BufferedImage?

  4. #4
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Comment récupères/crées tu ton Image?
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    j'utilise le code suivant pour récupérer l'image
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    String f=fc.getSelectedFile().getName();
    ImageIcon img = new ImageIcon(f);
    image.setIcon(img);
    mais après je veux la sauvegarder

  6. #6
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Pour obtenir une BufferedImage mieux vaut procéder de la manière suivante (cas en utilisant ImageIO)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    File f = fc.getSelectedFile();
    BufferedImage im = ImageIO.read(f);
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    voila ce que je tape comme code dans enregistrer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    File f = fc.getSelectedFile();
    BufferedImage im = ImageIO.read(f);
    ImageIO.write(im,"jpg",f);
    et voila l'erreur quand je compile

    fen01.java:114: unreported exception java.io.IOException; must be caught or decl
    ared to be thrown
    BufferedImage im = ImageIO.read(f);
    ^
    fen01.java:115: unreported exception java.io.IOException; must be caught or decl
    ared to be thrown
    ImageIO.write(im,"jpg",f);

    j'ai du oublier quelque chose non?

  8. #8
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Bah faut lire les messages que te donne le compilo, c'est quand même plus que clair

    Citation Envoyé par compilateur java
    fen01.java:114: unreported exception java.io.IOException; must be caught or declared
    (ou alors commence par apprendre java avant de vouloir faire des interfaces graphiques avec Swing, sinon tu risques de ne pas aboutir)
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 50
    Points : 26
    Points
    26
    Par défaut
    je sais jsui débutant en swing

    Mais dit moi ce que je dois faire car je l'ai déja déclaré le java.io.IOException
    et ca ne fonctionne toujours pas

  10. #10
    Expert éminent sénior
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Points : 12 977
    Points
    12 977
    Par défaut
    Une exception doit être catchée, c'est à dire que les instructions pouvant jeter une exception doivent être entourées d'un bloc try catch, si tu ne connais pas çà, c'est juste que tu débutes en java, et pas seulement en Swing...
    En général mieux vaut commencer par la base avant d'attaquer les trucs un poil flashy, car sinon tu t'y perdras. Mon conseil est de te mettre à java par le bas et d'apprendre les notions du langage.
    Hey, this is mine. That's mine. All this is mine. I'm claiming all this as mine. Except that bit. I don't want that bit. But all the rest of this is mine. Hey, this has been a really good day. I've eaten five times, I've slept six times, and I've made a lot of things mine. Tomorrow, I'm gonna see if I can't have sex with something.

  11. #11
    Membre averti Avatar de Amine_sas
    Profil pro
    Étudiant
    Inscrit en
    Juin 2005
    Messages
    245
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2005
    Messages : 245
    Points : 307
    Points
    307
    Par défaut
    Salut,
    Citation Envoyé par benyamin Voir le message
    je sais jsui débutant en swing

    Mais dit moi ce que je dois faire car je l'ai déja déclaré le java.io.IOException
    et ca ne fonctionne toujours pas
    Tu dois mettre le code susceptible de générer une exception dans un bloc try/catch:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    try{
     
    BufferedImage im = ImageIO.read(f);
    ....
    } catch(IOException uneException){
       /*  code du traitement de l'erreur
        ...
        */
       System.out.println("Erreur lors de la lecture");
     
    }
    "Un remboursement des programmes défectueux serait envisageable mais toute l'industrie du logiciel ferait faillite la première année." Andrew Tanenbaum.

Discussions similaires

  1. Réponses: 6
    Dernier message: 14/06/2008, 20h52
  2. [ImageMagick] Sauvegarder une image dans un fichier
    Par kivan666 dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 15/12/2006, 12h28
  3. sauvegarder une image dans un champ blob ?
    Par eric95 dans le forum Hibernate
    Réponses: 4
    Dernier message: 26/10/2006, 10h41
  4. Urgent: Sauvegarder une image sous excel
    Par aimane_z dans le forum Modules
    Réponses: 3
    Dernier message: 05/10/2006, 15h45
  5. Sauvegarder une image (.GIF/.JPG) avec CppWebBrowser
    Par Argol_Medusa dans le forum C++Builder
    Réponses: 12
    Dernier message: 12/12/2005, 11h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo