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

Entrée/Sortie Java Discussion :

Enregistrement image png


Sujet :

Entrée/Sortie Java

  1. #1
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut Enregistrement image png
    Salut, j'ai un problème au niveau de ceprogramme:
    le message "fichier introuvable" m'apparait lors de l'exécution.
    je vous en prie de m'aider.

    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
     
    import javax.swing.*;
    import java.awt.Canvas;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.awt.image.BufferedImage;
    import java.io.FileNotFoundException;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import javax.imageio.ImageIO;
    import javax.swing.JFileChooser;
    class Enregistrer {
     
            String filename1;
            String filename2;
            OutputStream out;
            Graphics g;
            java.awt.MediaTracker mt2;
            java.io.FileInputStream in;
            BufferedImage input;
            Image im2;
            public Enregistrer()
            {
     
                    JFileChooser choix = new JFileChooser();
     
     
                    if (choix.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
                    {
     
                            filename1 = choix.getSelectedFile().getAbsolutePath();
                            filename2 = choix.getSelectedFile().getAbsolutePath();
     
     
     
                           im2 = null;
     
                            mt2 = null;
     
     
                             in = null;
     
                             byte[] b = null;
     
                            int size = 0;
     
              try
              {
              in = new java.io.FileInputStream(filename1);
              }
              catch(java.io.FileNotFoundException e1)
              {
               System.out.println("fichier introuvable");
              }
                if (in != null)
              {
     
                      try
                      {
                      size = in.available();
                      }
                      catch(java.io.IOException e2)
                      {
                      System.out.println("Erreur d'entree sortie 2");
                      }
     
                      b = new byte[size];
                      try
                     {
                     in.read(b);
                     }
                     catch(java.io.IOException e3)
                      {
                     System.out.println("Erreur d'entree sortie 3");
                      }
     
     
     
                      im2 = java.awt.Toolkit.getDefaultToolkit().createImage(b);
                      try
                     {
                      in.close();
                     }
                     catch(java.io.IOException e4)
                      {
                     System.out.println("Erreur d'entree sortie 4");
                      }
     
     
     
              }
     
     
              mt2 = new java.awt.MediaTracker(new Canvas());
     
              if (im2 != null)
              {
     
                      if (mt2 != null)
                      {
     
                              mt2.addImage(im2, 0);
                              try
                              {
                                mt2.waitForID(0);
                              }
                              catch(java.lang.InterruptedException e5)
                              {
                              System.out.println("Interruption de processus");
                              }
     
                      }
     
              }
     
            input = new BufferedImage(im2.getWidth(null),im2.getHeight(null),BufferedImage.TYPE_INT_ARGB);
     
              g = input.createGraphics();
     
              g.setColor(Color.white);
     
              g.fillRect(0,0,im2.getWidth(null),im2.getHeight(null));
     
              g.drawImage(im2, 0, 0, null);
     
     
              try
              {
              out = new FileOutputStream(filename2);
              }
              catch(java.io.FileNotFoundException e6)
              {
              System.out.println("Fichier d'ecriture n'existe pas");
              }
              g = input.createGraphics();
              g.drawImage(input, 0, 0, null);
              g.dispose();
              try
              {
                ImageIO.write(input, "png", out);
              }
              catch(java.io.IOException e7)
              {
              System.out.println("Erreur d'entree sortie 6");
              }
              try
              {
                out.close();
                input= null;
                out = null;
              }
              catch(java.io.IOException e8)
              {
              System.out.println("Erreur d'entree sortie 7");
              }
     
              }
     
             }
     
     // Fonction d'ouverture des images (.jpeg / .gif / .png)
     
           public static void main(String[] args)
            {
              try
              {
                new Enregistrer();
              }
              catch(Exception e)
              {
     
              }
            }
    }
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Qu'elle est l'erreur exacte (message de l'exception) ?
    Où se produit-elle dans le code ?

  3. #3
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    Salut,
    Le problème est au niveau de la première exception (java.io.FileNotFoundException), l'image ne peut pas être enrgistrée.

  4. #4
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Il n'y a pas de texte après FileNotFoundException qui montre de quel fichier il est question ?

  5. #5
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    j'ai pas comprie qu'est-ce que vous voulez dire.

  6. #6
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Normalement l'exception FileNotFoundException indique le fichier (avec son chemin) qui n'est pas trouvé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Exception in thread "main" java.io.FileNotFoundException: c:\temp\bad.txt (Le fichier spécifié est introuvable)
    Alors il suffit de vérifier si le fichier existe bien.

  7. #7
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    est ce que tu peux nous copier l'erreur
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  8. #8
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    Salut,

    l'image existe bien,
    voici le message affiché lors de l'éxécution:


    C:\JBuilder9\jdk1.4\bin\javaw -classpath "C:\Documents and Settings\chedly saidi\jbproject\t\classes;C:\JBuilder9\jdk1.4\demo\jfc\Java2D\Java2Demo.jar;C:\JBuilder9\jdk1.4\demo\plugin\jfc\Java2D\Java2Demo.jar;C:\JBuilder9\jdk1.4\jre\lib\charsets.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\dnsns.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\ldapsec.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\localedata.jar;C:\JBuilder9\jdk1.4\jre\lib\ext\sunjce_provider.jar;C:\JBuilder9\jdk1.4\jre\lib\im\indicim.jar;C:\JBuilder9\jdk1.4\jre\lib\jaws.jar;C:\JBuilder9\jdk1.4\jre\lib\jce.jar;C:\JBuilder9\jdk1.4\jre\lib\jsse.jar;C:\JBuilder9\jdk1.4\jre\lib\rt.jar;C:\JBuilder9\jdk1.4\jre\lib\sunrsasign.jar;C:\JBuilder9\jdk1.4\lib\dt.jar;C:\JBuilder9\jdk1.4\lib\htmlconverter.jar;C:\JBuilder9\jdk1.4\lib\tools.jar" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=TTGIS5:2806,suspend=y Enregistrer
    fichier introuvable

  9. #9
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    est ce que tu peux ajouter un System.out.println(filename1);
    apres ces deux lignes:
    filename1 = choix.getSelectedFile().getAbsolutePath();
    filename2 = choix.getSelectedFile().getAbsolutePath();
    pour savoir le contenu de la variable filename1 apres le Jfilechooser
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  10. #10
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    j'ai essayé comme vous m'avez dit ,

    le message suivant est affiché:

    C:\Documents and Settings\chedly saidi\Bureau\a.png
    fichier introuvable

    le premier message indique le chemin de destination que j'ai choisi pour le stockage.

  11. #11
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    a tu ajouter a vos import ceci:

    import java.io.FileInputStream;
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  12. #12
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    le premier message indique le chemin de destination que j'ai choisi pour le stockage.
    Or visiblement ton erreur se produit avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    in = new java.io.FileInputStream(filename1);
    Donc tu essayes d'ouvrir un fichier qui n'existe pas ?

    Pour le stockage on devrait trouver
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    out = new java.io.FileOutputStream(filename1);

  13. #13
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    J'ai arrivé finalement à stocker l'image avec le programme ci-dessous mais j'ai entré le chemin de stockage manuellement ,
    est-ce que vous pouvez m'aider à l'entrer à partir de l'interface (JFileChooser).


    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
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    import javax.swing.*;
    import java.awt.Canvas;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    import java.io.File;
    import java.awt.image.BufferedImage;
    import java.io.FileNotFoundException;
    import java.io.FileInputStream;
    import java.io.FileOutputStream;
    import java.io.OutputStream;
    import javax.imageio.ImageIO;
    import javax.swing.JFileChooser;
    class Enregistrer {
    
            String filename1;
            String filename2;
            OutputStream out;
            Graphics g;
            java.awt.MediaTracker mt2;
            java.io.FileInputStream in;
            BufferedImage input;
            Image im2;
            public Enregistrer()
            {
    
                    JFileChooser choix = new JFileChooser();
    
    
                    if (choix.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
                    {
    
                            filename1 ="C:\\Documents and Settings/chedly saidi/Mes documents/a.png";
                            filename2 = choix.getSelectedFile().getAbsolutePath();
    
    
    
                           im2 = null;
    
                            mt2 = null;
    
    
                             in = null;
    
                             byte[] b = null;
    
                            int size = 0;
    
              try
              {
              in = new java.io.FileInputStream(filename1);
              }
              catch(java.io.FileNotFoundException e1)
              {
               System.out.println("fichier introuvable");
              }
                if (in != null)
              {
    
                      try
                      {
                      size = in.available();
                      }
                      catch(java.io.IOException e2)
                      {
                      System.out.println("Erreur d'entree sortie 2");
                      }
    
                      b = new byte[size];
                      try
                     {
                     in.read(b);
                     }
                     catch(java.io.IOException e3)
                      {
                     System.out.println("Erreur d'entree sortie 3");
                      }
    
    
    
                      im2 = java.awt.Toolkit.getDefaultToolkit().createImage(b);
                      try
                     {
                      in.close();
                     }
                     catch(java.io.IOException e4)
                      {
                     System.out.println("Erreur d'entree sortie 4");
                      }
    
    
    
              }
    
    
              mt2 = new java.awt.MediaTracker(new Canvas());
    
              if (im2 != null)
              {
    
                      if (mt2 != null)
                      {
    
                              mt2.addImage(im2, 0);
                              try
                              {
                                mt2.waitForID(0);
                              }
                              catch(java.lang.InterruptedException e5)
                              {
                              System.out.println("Interruption de processus");
                              }
    
                      }
    
              }
    
            input = new BufferedImage(im2.getWidth(null),im2.getHeight(null),BufferedImage.TYPE_INT_ARGB);
    
              g = input.createGraphics();
    
              g.setColor(Color.white);
    
              g.fillRect(0,0,im2.getWidth(null),im2.getHeight(null));
    
              g.drawImage(im2, 0, 0, null);
    
    
              try
              {
              out = new FileOutputStream(filename2);
              }
              catch(java.io.FileNotFoundException e6)
              {
              System.out.println("Fichier d'ecriture n'existe pas");
              }
              g = input.createGraphics();
              g.drawImage(input, 0, 0, null);
              g.dispose();
              try
              {
                ImageIO.write(input, "png", out);
              }
              catch(java.io.IOException e7)
              {
              System.out.println("Erreur d'entree sortie 6");
              }
              try
              {
                out.close();
                input= null;
                out = null;
              }
              catch(java.io.IOException e8)
              {
              System.out.println("Erreur d'entree sortie 7");
              }
    
              }
    
             }
    
     // Fonction d'ouverture des images (.jpeg / .gif / .png)
    
           public static void main(String[] args)
            {
              try
              {
                new Enregistrer();
              }
              catch(Exception e)
              {
    
              }
            }
    }

  14. #14
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    essaier ceci:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
       JFileChooser chooser = new JFileChooser();
            int returnVal = chooser.showOpenDialog(parent);
            if(returnVal == JFileChooser.APPROVE_OPTION) {
     
                    chooser.getSelectedFile().getName();
    }
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  15. #15
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    que je doit mettre dans le paramètre parent
    dans la méthode choix.showOpenDialog(parent)

  16. #16
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    c'est du type Component,
    essaie de mettre null
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  17. #17
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    j'ai essayé avec votre code mais le message envoyé est "fichier introuvable"

  18. #18
    Membre confirmé Avatar de ngpub
    Profil pro
    Inscrit en
    Mai 2008
    Messages
    449
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2008
    Messages : 449
    Points : 505
    Points
    505
    Par défaut
    Les exceptions sont tes amies !
    Evite de les cacher, tu perds des informations précieuses pour t'aider à trouver les erreurs.

  19. #19
    Membre éprouvé Avatar de anisj1m
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2006
    Messages
    1 067
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 067
    Points : 955
    Points
    955
    Par défaut
    je pense que j'ai trouver l'erreur :

    tu as dit que le system.out.println() t'affiche:
    C:\Documents and Settings\chedly saidi\Bureau\a.png

    alors que toi tu as mis
    filename1 ="C:\\Documents and Settings/chedly saidi/Mes documents/a.png";

    fait attention les deux path ne sont pas les meme:

    une image en bureau et l'autre dans mes document!!!
    Ce qu'on appelons le hasard n'est que notre incapacité à comprendre un degré d'ordre supérieur.

  20. #20
    Futur Membre du Club
    Inscrit en
    Avril 2008
    Messages
    28
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 28
    Points : 7
    Points
    7
    Par défaut enregistrement image png
    le programme marche correctement lorsque je précise le chemin de l'image à enregistrer à partir du programme et non pas à partir de JFileChooser,
    je veux entrer ce chemin à partir JFileChooser.

Discussions similaires

  1. [XL-2010] VBA & IE - Enregistrement image PNG
    Par Richelsdorfite dans le forum Macros et VBA Excel
    Réponses: 26
    Dernier message: 17/03/2017, 17h25
  2. Enregistrer une image PNG en 300 DPI
    Par Foub dans le forum 2D
    Réponses: 5
    Dernier message: 02/07/2008, 08h59
  3. enregistrement image png
    Par merdassiahmad dans le forum AWT/Swing
    Réponses: 5
    Dernier message: 12/05/2008, 10h40
  4. [D5] Zoom d'image PNG avec transparence
    Par Thierry Laborde dans le forum Delphi
    Réponses: 9
    Dernier message: 12/06/2006, 15h41
  5. [Image]setCursor() et les images *.png
    Par feed_our_vision dans le forum Graphisme
    Réponses: 4
    Dernier message: 13/09/2004, 01h51

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