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 : 55
    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 ?)

  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 : 55
    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);
      			}
      		}
       
      	}

  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 : 55
    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...

  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