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

2D Java Discussion :

BufferedImage=>JPG donne une image noir, bonne image en P


Sujet :

2D Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut BufferedImage=>JPG donne une image noir, bonne image en P
    Bonjour,

    j'ai un problème lorsque je transforme une image qui est dans un buffer en un fichier.

    Au format png, l'image est bien sauvegardé. Au format jpg j'obtiens une image toute noir.

    image est de type BufferedImage

    File f = new File("myimage.png");
    try {
    ImageIO.write(image, "png", f); // si je remplace png par jpg j'ai une image noir
    } catch (IOException e) {
    //
    }

    J'aimerai connaître l'origine de ce problème.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Je suis étonné de personne n'a été confronté à ce problème.

    Avait vous une idée d'un autre site... où trouver une solution ?

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    69
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mars 2004
    Messages : 69
    Points : 58
    Points
    58
    Par défaut
    question bête :

    tu mets aussi myimage.jpg quand tu mets jpg dans ImageIO.write() ?

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    Oui

  5. #5
    Candidat au Club
    Inscrit en
    Mai 2002
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Mai 2002
    Messages : 2
    Points : 4
    Points
    4
    Par défaut
    J'utilisais une autre librairie pour exporter en jpg. Je ne sais pas si cela peut t'aider. Je te file lla référence et un exemple de code ou je l'utilise:


    zoomIp est une classe qui represente mon image et fait partie de mon code (j'avais utilisé ImageJ qui est tres bien pour la manipulation d'image) , il faut arriver a recuperer une BufferedImage

    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
    import com.sun.image.codec.jpeg.*;
     
    ....
     
    String zoomName = new String("C:\\Program Files\\eclipse\\workspace\\TeleR\\images\\"+zoomNumber+".jpg");
    	this.generateJPEG(zoomIp, zoomName);
    }
     
    ...
     
    private void generateJPEG (ImagePlus ip, String fileName) {
    	try {
    		FileOutputStream imageOutput = new FileOutputStream(fileName);
     
    		BufferedImage   image  = new BufferedImage(ip.getWidth(), ip.getHeight(), BufferedImage.TYPE_INT_RGB);
    		Graphics g = image.createGraphics();
    		g.drawImage(ip.getImage(), 0, 0, null);
    		g.dispose(); 
     
     
    		JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(imageOutput);
    		JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(image);
     
    		// lossless encoding through 1.0f quality parameter choice
    		param.setQuality(1.0f, true);
     
    		encoder.encode(image, param);
    		imageOutput.close();
    	} catch (Exception e) {
    		e.printStackTrace();
    	}
    }

  6. #6
    Membre actif
    Avatar de narkotik
    Inscrit en
    Mai 2004
    Messages
    117
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 117
    Points : 229
    Points
    229
    Par défaut
    File f = new File("myimage.png");
    try {
    ImageIO.write(image, "png", f); // si je remplace png par jpg j'ai une image noir
    } catch (IOException e) {
    //
    }
    tu écris ca...
    je ne sais pas d'ou vient ton probleme mais moi quand j'utilise imageIO et "jpg" ca marche tres bien, a mon avis tu devrais vérifier ta source BufferedImage
    (+mitch): nan mais nanar j'préfère mourir contre un platane apres un accident de voiture plutot que d'une rupture d'anévrisme devant mon ecran d'pc

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12
    Points : 10
    Points
    10
    Par défaut
    J'ai trouvé d'où viens mon problème :

    public void Resize(double scalex, double scaley) {
    AffineTransform tx = new AffineTransform();
    tx.scale(scalex, scaley);

    AffineTransformOp op = new AffineTransformOp(tx, AffineTransformOp.TYPE_NEAREST_NEIGHBOR);

    image = op.filter(image_origin, null);
    }

    Si j'utilise le type : TYPE_BILINEAR j'ai une image noir.

    Quand j'utilise le type : TYPE_NEAREST_NEIGHBOR j'ai une image correcte.

    Voila, il fallait le savoir !

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

Discussions similaires

  1. imagegrabscreen donne une image noir pourquoi ?
    Par owenho dans le forum Langage
    Réponses: 1
    Dernier message: 12/12/2012, 18h09
  2. Liée une base de donnée à une image
    Par ecarbill dans le forum Access
    Réponses: 4
    Dernier message: 05/08/2006, 12h07
  3. extraire une image noir et blanc noyé dans de la couleur
    Par gronaze dans le forum Traitement d'images
    Réponses: 6
    Dernier message: 18/07/2006, 18h30
  4. [VB6] Afficher une image de bonne qualité dans un form
    Par hpfx dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 10/05/2006, 12h23
  5. Réponses: 10
    Dernier message: 30/06/2005, 12h20

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