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 :

Transfert d'image, résultat tout noir


Sujet :

Entrée/Sortie Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut Transfert d'image, résultat tout noir
    Bonjour,

    J'ai un soucis avec le fait de transférer des images en les transformant en un tableau de byte.

    Le résultat fonctionne à moitié car je récupère bien les bonnes dimensions des images mais elles sont noires.

    Merci si vous avez la solution

    Le code pour transformer une image en byte[]:
    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
    public byte[] getPhoto(String nom) {        
            Image img = img;
     
            /** On crée la nouvelle image */
            BufferedImage bufferedImage = new BufferedImage(
                        img.getWidth(null),
                        img.getHeight(null),
                        BufferedImage.TYPE_INT_BGR );
            Graphics g = bufferedImage.createGraphics();
            g.drawImage(img,0,0,null);
            g.dispose();             
            ByteArrayOutputStream out = new ByteArrayOutputStream();
     
            try {
                ImageIO.write(bufferedImage, "jpg", out);
                out.flush();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
            byte buffer[] = out.toByteArray();
     
            try {
                out.close();
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
     
            return (buffer);
    Ici on appelle la méthode pour récupérer les images:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    String listPhoto[] = user.getListePhoto();
     
                for(String s : listPhoto)
                {
                    byte img[] = user.getPhoto(s);
                    InputStream in = new ByteArrayInputStream(img);
                    BufferedInputStream bis=new BufferedInputStream(in);
     
                    // lire l'image.
                    BufferedImage imageRecup = ImageIO.read(bis);
     
                    // inserer dans le panel
                    this.fen.corbaAddImage(s, imageRecup);
                }
    Et l'affichage:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    public ImagePanel(String nom, BufferedImage img)
          {
              this.description = nom;
              BufferedImage bufferedImage = new BufferedImage ( img.getWidth(null),
                      img.getHeight(null),
                      BufferedImage.TYPE_INT_BGR  );
              this.img = bufferedImage;
     
              setPreferredSize(new Dimension(200, 200));
     
              setLayout(null);
              validate();
              repaint();
          }

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

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

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    dans votre méthode imagepanel, a part la largeur et la hauteur vous n'utilisez rien de l'image passée en argument.

    Je pense que votre code devrait plutot être

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public ImagePanel(String nom, BufferedImage img)
          {
              this.description = nom;
              this.img = img;
     
              setPreferredSize(new Dimension(200, 200));
     
              setLayout(null);
              validate();
              repaint();
          }
    Aussi, vu le nom de vos autres méthode, je ne suis pas sur qu'on puisse passer des BufferedImage via Corba....

  3. #3
    Membre expérimenté

    Profil pro
    Inscrit en
    Mai 2008
    Messages
    186
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mai 2008
    Messages : 186
    Par défaut
    Ah merci pour l'aide, tellement gros qu'on ne voit plus le problème...

    Et pour corba je récupère un tableau de byte
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public byte[] getPhoto(String nom) { 
      ...
     return buffer;
    }
    Ca fonctionne bien maintenant, merci

Discussions similaires

  1. Image miniature tout noire
    Par moudjahidine dans le forum Langage
    Réponses: 0
    Dernier message: 19/04/2013, 00h14
  2. [GD] Image toute noire
    Par sam01 dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 19/10/2010, 07h28
  3. [GD] image redimensionnée toute noire
    Par lachouke dans le forum Bibliothèques et frameworks
    Réponses: 1
    Dernier message: 21/07/2008, 16h38
  4. [ImageMagick] Captcha crytographp image toute noire
    Par vodasan dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 01/02/2007, 07h35
  5. [GD] Obtention aléatoire d'un message d'erreur et l'image enregistrée est toute noire
    Par maty2006 dans le forum Bibliothèques et frameworks
    Réponses: 10
    Dernier message: 30/05/2006, 10h14

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