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

AWT/Swing Java Discussion :

enregistrement image png


Sujet :

AWT/Swing 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,
    puvous vous m'aider à corriger ce programme d'enregistrement d'une image
    la fenetre apparait mais lorsque je veux mettre l'image dans un dossier que je crée, je trouve le dossier vide.

    voici mon programme:
    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
    import javax.swing.*;
    import java.awt.Canvas;
    import java.awt.Color;
    import java.awt.Graphics;
    import java.awt.Image;
    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;
    public class Enregistrer {
     
     
            BufferedImage bi;
     
     
            public Enregistrer()
            {
     
                    JFileChooser choix = new JFileChooser();
     
                    if (choix.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
                    {
     
                            String filename = choix.getSelectedFile().getAbsolutePat();
     
                            try
                            {
     
                                    bi = loadImage(filename);
     
                            }
                            catch (Exception e)
                            {
     
     
     
                                    e.printStackTrace();
     
                            }
     
                    }
     
            }
     
     
     
            /** Fonction de sauvegarde d'image */
     
            public static void SaveImage(BufferedImage imBW, OutputStream os) throws Exception
            {
     
                    Graphics g = imBW.createGraphics();
     
                    g.drawImage(imBW, 0, 0, null);
     
                    g.dispose();
     
                    ImageIO.write(imBW, "png", os);
     
                    os.close();
     
                    imBW = null;
     
                    os = null;
     
            }
     
     
            // Fonction d'ouverture des images (.jpeg / .gif / .png)
     
            public BufferedImage loadImage(String f) throws Exception {
     
                    Image im2 = null;
     
                    java.awt.MediaTracker mt2 = null;
     
     
                    java.io.FileInputStream in = null;
     
                    byte[] b = null;
     
                    int size = 0;
     
     
                    in = new java.io.FileInputStream(f);
     
                    if (in != null)
                    {
     
                            size = in.available();
     
                            b = new byte[size];
     
                            in.read(b);
     
                            im2 = java.awt.Toolkit.getDefaultToolkit().createImage(b);
     
                            in.close();
     
                    }
     
     
                    mt2 = new java.awt.MediaTracker(new Canvas());
     
                    if (im2 != null)
                    {
     
                            if (mt2 != null)
                            {
     
                                    mt2.addImage(im2, 0);
     
                                    mt2.waitForID(0);
     
                            }
     
                    }
     
                    BufferedImage input = new BufferedImage(im2.getWidth(null), im2
     
                                    .getHeight(null), BufferedImage.TYPE_INT_ARGB);
     
                    Graphics g = input.createGraphics();
     
                    g.setColor(Color.white);
     
                    g.fillRect(0, 0, im2.getWidth(null), im2.getHeight(null));
     
                    g.drawImage(im2, 0, 0, null);
     
                    g.dispose();
     
                    g = null;
     
                    return input;
     
            }
     
     
     
     
            public static void main(String[] args) throws Exception
            {
     
     
     
                     Enregistrer e=new Enregistrer ();
     
     
            }
     
     
    }
    Merci

  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
    A aucun moment dans ta classe tu n'appelles la méthode saveImage...

  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
    Merci pour votre réponse,
    on a éssayer avec le programme suivant mais l'image n'est pas enregistrée:

    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
     
    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 {
     
     
            BufferedImage bi;
            OutputStream out;
     
            public Enregistrer()
            {
     
                    JFileChooser choix = new JFileChooser();
     
     
                    if (choix.showSaveDialog(null) == JFileChooser.APPROVE_OPTION)
                    {
     
                            String filename = choix.getSelectedFile().getAbsolutePath();
     
                            try
                            {
     
                                    bi = loadImage(filename);
                                    out= new FileOutputStream(filename);
                                    SaveImage(bi,out);
                            }
                            catch (Exception e)
                            {
     
     
     
                                    e.printStackTrace();
     
                            }
     
                    }
     
            }
     
     
     
            /** Fonction de sauvegarde d'image */
     
            public static void SaveImage(BufferedImage imBW, OutputStream os) throws Exception
            {
     
                    Graphics g = imBW.createGraphics();
     
                    g.drawImage(imBW, 0, 0, null);
     
                    g.dispose();
     
                    ImageIO.write(imBW, "png", os);
     
                    os.close();
                    imBW=null;
                    os=null;
     
            }
     
     
            // Fonction d'ouverture des images (.jpeg / .gif / .png)
     
            public BufferedImage loadImage(String f) throws Exception {
     
                    Image im2 = null;
     
                    java.awt.MediaTracker mt2 = null;
     
     
                    java.io.FileInputStream in = null;
     
                    byte[] b = null;
     
                    int size = 0;
     
     
                    in = new java.io.FileInputStream(f);
     
                    if (in != null)
                    {
     
                            size = in.available();
     
                            b = new byte[size];
     
                            in.read(b);
     
                            im2 = java.awt.Toolkit.getDefaultToolkit().createImage(b);
     
                            in.close();
     
                    }
     
     
                    mt2 = new java.awt.MediaTracker(new Canvas());
     
                    if (im2 != null)
                    {
     
                            if (mt2 != null)
                            {
     
                                    mt2.addImage(im2, 0);
     
                                    mt2.waitForID(0);
     
                            }
     
                    }
     
                    BufferedImage input = new BufferedImage(im2.getWidth(null), im2
     
                                    .getHeight(null), BufferedImage.TYPE_INT_ARGB);
     
                    Graphics g = input.createGraphics();
     
                    g.setColor(Color.white);
     
                    g.fillRect(0, 0, im2.getWidth(null), im2.getHeight(null));
     
                    g.drawImage(im2, 0, 0, null);
     
                    g.dispose();
     
                    g = null;
     
                    return input;
     
     
     
            }
     
     
     
     
            public static void main(String[] args) throws Exception
            {
            Enregistrer e=new Enregistrer();
            }
     
     
    }

  4. #4
    Membre éclairé Avatar de remika
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    806
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 806
    Points : 861
    Points
    861
    Par défaut
    Ba déjà retire les throws Exception et trace tes exceptions correctement, tu auras peut-être une idée de ce qu'il se passe...

  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
    Salut,

    j'ai essayé de tracer les exceptions mais pas de nouveau
    je vous enprie de m'aider (j'ai besoin de ce programme dans mon projet fin d'étude).


    Merci.

  6. #6
    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
    Salut,
    j'ai essayé autrement avec ce prgramme,lors de l'exécution le message suivant est affiché:"fichier introuvable":


    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)
              {
     
              }
            }
    }

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 Entrée/Sortie
    Réponses: 20
    Dernier message: 13/05/2008, 15h42
  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