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 :

comment enregister et afficher une image par un chemin


Sujet :

Entrée/Sortie Java

  1. #1
    Membre à l'essai
    Femme Profil pro
    java
    Inscrit en
    Février 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : java

    Informations forums :
    Inscription : Février 2018
    Messages : 39
    Points : 10
    Points
    10
    Par défaut comment enregister et afficher une image par un chemin
    comment enregister une image dans un repertoire spécifique et les afficher

  2. #2
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    1. Pour sauvegarder une image : ImageIO.write()
    2. Pour lire une image depuis un fichier: ImageIO.read()
    3. Pour afficher une image : ça dépend où (Swing, JavaFX, SWT, web, autre ?)
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  3. #3
    Membre à l'essai
    Femme Profil pro
    java
    Inscrit en
    Février 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : java

    Informations forums :
    Inscription : Février 2018
    Messages : 39
    Points : 10
    Points
    10
    Par défaut
    l'image est scannée par le scanner voici le code
    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
     
     
    /*
     * To change this license header, choose License Headers in Project Properties.
     * To change this template file, choose Tools | Templates
     * and open the template in the editor.
     */
    package javaapplication2;
    import java.io.File;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import javax.swing.ImageIcon;
     
    import uk.co.mmscomputing.device.scanner.Scanner;
    import uk.co.mmscomputing.device.scanner.ScannerDevice;
    import uk.co.mmscomputing.device.scanner.ScannerListener;
    import uk.co.mmscomputing.device.scanner.ScannerIOException;
    import uk.co.mmscomputing.device.scanner.ScannerIOMetadata;
     
    public class Twain1 implements ScannerListener{
     
      static Twain1 app; 
     
      Scanner scanner;
     
      public Twain1()throws ScannerIOException{
        scanner=Scanner.getDevice();
        scanner.addListener(this);   
        scanner.acquire();
      }
     
      public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata){
        if(type.equals(ScannerIOMetadata.ACQUIRED)){
          BufferedImage image=metadata.getImage();
          System.out.println("Have an image now!");
          try{
              String sg="hg";
              // File fil = new File("C:\\Users\\pc\\Desktop\\photo"+sg+".jpg");
              //  File fi=new File("C:\\Users\\pc\\Pictures\\18\\IMAGE"+sg+".jpg");
            ImageIO.write(image, "jpg", new File("C:\\Users\\pc\\Pictures\\18\\IMAGE"+sg+".jpg"));
     
            java.awt.Image ima11 = image;
            java.awt.Image imfi;
                imfi = ima11.getScaledInstance(nouveauarrivée.jLabel9.getWidth(),nouveauarrivée.jLabel9.getHeight(),java.awt.Image.SCALE_SMOOTH );
                                ImageIcon finalim = new ImageIcon( imfi);
                              //  File theDir2 = new File("C:\\Users\\pc\\Desktop\\fonctionnaire"+mmsc_image.jpg+"/");
                                nouveauarrivée.jLabel9.setIcon(finalim);
     
     
    /* */     
     
          }catch(Exception e){
            e.printStackTrace();
          }
        }else if(type.equals(ScannerIOMetadata.NEGOTIATE)){
          ScannerDevice device=metadata.getDevice();
          try{
            device.setShowUserInterface(true);
            device.setShowProgressBar(true);
            device.setResolution(100);
          }catch(Exception e){
            e.printStackTrace();
          }
        }else if(type.equals(ScannerIOMetadata.STATECHANGE)){
          System.err.println(metadata.getStateStr());
          if(metadata.isFinished()){
            System.exit(0);
          }
        }else if(type.equals(ScannerIOMetadata.EXCEPTION)){
          metadata.getException().printStackTrace();
        }
      }
     
     
     
     
     
    }

  4. #4
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Donc c'est une BufferedImage...

    1. Le plus simple est de la transformer en Icon puis d'utiliser un JLabel pour l'afficher (JLabel label = new JLabel(new ImageIcon(image))).

      Par exemple :
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
       
      JLabel label = new JLabel(new ImageIcon(image));
      JOptionPane.showMessageDialog(null, label);
      ou, si l'image est grande
      Code : Sélectionner tout - Visualiser dans une fenêtre à part
      1
      2
      3
      4
      5
       
      		JLabel label = new JLabel(new ImageIcon(image));
      		JScrollPane scrollPane = new JScrollPane(label);
      		scrollPane.setPreferredSize(new Dimension(300,300));
      		JOptionPane.showMessageDialog(null, scrollPane);
      On peut utiliser la même technique pour afficher dans n'importe quel autre container Swing.

      Mais la limite c'est que la taille de l'image ne s'adaptera pas à la taille de son container
    2. Pour que la taille s'adapte, soit il y a la manière un peu complexe à base d'évenements et de getScaledImage(), soit, plus simple, d'afficher dans le fond d'un JPanel, en redéfinissant paintComponent. On peut faire un composant par exemple :
      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
      public class ImagePanel extends JPanel {
       
      		private BufferedImage image;
       
                      public ImagePanel(BufferedImage image) {
                           this.image=image;
                      }
       
      		public void setImage(BufferedImage image) {
      			this.image=image;
      			repaint();
      		}
       
      		@Override
      		protected void paintComponent(Graphics g) {
      			super.paintComponent(g);
      			if ( image!=null ) {
      				final double width;
      				final double height;
      				if ( image.getWidth()>image.getHeight() ) {
      					final double scale = (getWidth()*1f)/image.getWidth();
      					width = getWidth();
      					height = image.getHeight()*scale;
      				}
      				else {
      					final double scale = (getHeight()*1f)/image.getHeight();
      					height = getHeight();
      					width = image.getWidth()*scale;
      				}
      				final double x = (getWidth()-width)/2;
      				final double y = (getHeight()-height)/2;
      				g.drawImage(image, (int)x, (int)y, (int)width, (int)height, this);
      			}
      		}
       
      	}
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  5. #5
    Membre à l'essai
    Femme Profil pro
    java
    Inscrit en
    Février 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : java

    Informations forums :
    Inscription : Février 2018
    Messages : 39
    Points : 10
    Points
    10
    Par défaut
    C bon c'est résolu merci bq pour ton aide

  6. #6
    Membre à l'essai
    Femme Profil pro
    java
    Inscrit en
    Février 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : java

    Informations forums :
    Inscription : Février 2018
    Messages : 39
    Points : 10
    Points
    10
    Par défaut
    Oui j 'untilise un buffer des image mais des fois il affiche des fois non je sais pas au est le problm

  7. #7
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Points : 29 131
    Points
    29 131
    Billets dans le blog
    2
    Par défaut
    Je peux difficilement le savoir aussi si je n'ai pas de code...
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  8. #8
    Membre à l'essai
    Femme Profil pro
    java
    Inscrit en
    Février 2018
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Algérie

    Informations professionnelles :
    Activité : java

    Informations forums :
    Inscription : Février 2018
    Messages : 39
    Points : 10
    Points
    10
    Par défaut
    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
    package javaapplication2;
    import java.io.File;
    import javax.imageio.ImageIO;
    import java.awt.image.BufferedImage;
    import java.text.SimpleDateFormat;
    import javax.swing.ImageIcon;
     
    import uk.co.mmscomputing.device.scanner.Scanner;
    import uk.co.mmscomputing.device.scanner.ScannerDevice;
    import uk.co.mmscomputing.device.scanner.ScannerListener;
    import uk.co.mmscomputing.device.scanner.ScannerIOException;
    import uk.co.mmscomputing.device.scanner.ScannerIOMetadata;
     
    public class Twain12 implements ScannerListener{
     
      static Twain12 app; 
     
      Scanner scanner;
     
      public Twain12()throws ScannerIOException{
        scanner=Scanner.getDevice();
        scanner.addListener(this);   
        scanner.acquire();
      }
     
      public void update(ScannerIOMetadata.Type type, ScannerIOMetadata metadata){
        if(type.equals(ScannerIOMetadata.ACQUIRED)){
          BufferedImage image=metadata.getImage();
          System.out.println("Have an image now!");
     
             try{
     
             // String sg="hg";
              String a= nouveauarrivée_1.jTextField1.getText();
            String  b=nouveauarrivée_1.jTextField4.getText();
              a=a.concat(b);
              String dir1 = nouveauarrivée_1.jComboBox1.getSelectedItem().toString();
              System.out.println("cqsf"+dir1);
              SimpleDateFormat dfo=new  SimpleDateFormat("dd-MM-yyyy") ;
                 String datenre=dfo.format(nouveauarrivée_1.jDateChooser4.getDate()); ;    
         String c=""+datenre.charAt(3)+""+datenre.charAt(4);// le moi
             /* File fil = new File("C:\\Users\\pc\\Pictures\\courrier arrivées\\"+dir1+"/");
               
               System.out.println("cqsf"+dir1);
                if(!fil.exists()){
                fil.mkdir();
                
                System.out.println("cqsf"+dir1);
                 
         }//
                File fi=new File("C:\\Users\\pc\\Pictures\\courrier arrivées\\"+dir1+"\\"+c+"/");
                if(!fi.exists())
                {fi.mkdir();
                System.out.println("cqsf"+c);
                }*/
            File fi2=new File("C:\\Users\\pc\\Pictures\\courrier arrivées\\"+dir1+"\\"+c+"\\"+a+".jpg");
                //if(!fi2.exists())
                //{
                 fi2.mkdir();
            // }
          // ImageIO.write(image, "jpg", fi2);
           System.out.println("cqsf"+a);
                // }
                ImageIO.write(image, "jpg", fi2);
                java.awt.Image ima11 = image;
            java.awt.Image imfi;
                imfi = ima11.getScaledInstance(nouveauarrivée_1.jLabel9.getWidth(),nouveauarrivée_1.jLabel9.getHeight(),java.awt.Image.SCALE_SMOOTH );
                                ImageIcon finalim = new ImageIcon( imfi);
                              //  File theDir2 = new File("C:\\Users\\pc\\Desktop\\fonctionnaire"+mmsc_image.jpg+"/");
                                nouveauarrivée_1.jLabel9.setIcon(finalim);
     
     
          }
     
          catch(Exception e){
            e.printStackTrace();
          } 
        }else if(type.equals(ScannerIOMetadata.NEGOTIATE)){
          ScannerDevice device=metadata.getDevice();
           System.out.println("erreur ndfn");
          try{
            device.setShowUserInterface(true);
            device.setShowProgressBar(true);
            device.setResolution(100);
     
           //   BufferedImage image=metadata.getImage();
          System.out.println("Have an image nowklll!");
     
     
     
     
          }catch(Exception e){
            e.printStackTrace();
          }
        }else if(type.equals(ScannerIOMetadata.STATECHANGE)){
          System.err.println(metadata.getStateStr());
          System.out.println("errfinnnnn");
     
     
     
          if(metadata.isFinished()){
              System.out.println("errf");
            System.exit(0);
          }
        }else if(type.equals(ScannerIOMetadata.EXCEPTION)){
          metadata.getException().printStackTrace();
          System.out.println("erreur finnnnn");
     
     
        }
     
     
     
      }
     
     
    }



    il n'affiche aucun erreur

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher une image par défaut dans une div
    Par attarias dans le forum Général JavaScript
    Réponses: 12
    Dernier message: 23/12/2010, 16h01
  2. Afficher une image par l'intermediaire de variable PHP
    Par moustique95 dans le forum Langage
    Réponses: 3
    Dernier message: 30/07/2008, 17h23
  3. Afficher une image par dessus une scene 3D
    Par drcd dans le forum OpenGL
    Réponses: 9
    Dernier message: 02/04/2007, 19h59
  4. [MySQL] Comment afficher une image par défaut ?
    Par clicman dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/10/2005, 08h46
  5. Comment faire pour afficher une image ds une dbgrid
    Par totomaze dans le forum Bases de données
    Réponses: 2
    Dernier message: 16/10/2004, 15h31

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