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

Graphisme Java Discussion :

Pourquoi la taille de mon image est négative ?


Sujet :

Graphisme Java

  1. #1
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 47
    Points : 39
    Points
    39
    Par défaut Pourquoi la taille de mon image est négative ?
    Bonjour à tous
    Je recupère une image(BufferedImage image) sur ma machine de taille 1024 (image.getWidth(null)), je la transforme en img(Image img) en passant par un tableau de byte.Seulement je ne comprends pas pourquoi l'image que j'obtiens (img) a une taille égale à -1 (img.getWidth(null)) .
    code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    BufferedImage image;
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ImageIO.write(image, "jpg", out);
    byte[] bytes = out.toByteArray();
    ImageIcon imageIcon = new ImageIcon(bytes);
    Image img=imageIcon.getImage();
    Merci de votre aide !
    Coulane

  2. #2
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Bonjour,
    -1 est la taille par défaut.

    Cela peut provenir du fait que l'image n'est pas encore charger. Ou que celle-ci est mal créer.

    Cordialement,
    Patrick Kolodziejczyk.

  3. #3
    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
    Pourquoi vouloir transformer un BufferedImage en image?

    Ca n'a pas de sens, la classe BufferedImage héritant de la classe image...

    Au pire un simple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    BufferedImage bi;
    Image img = bi;
    Enfin dans l'ensemble, si tu as une BufferedImage à ta disposition, pas besoin de la convertir en Image, c'en est déjà une par héritage...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 47
    Points : 39
    Points
    39
    Par défaut
    Merci à tous pour les éléments de réponse, mais je ne suis toujours pas tiré d'affaires.Mon but était de retrouver mon image initiale après un passage par les Byte[] et je n'ai pas trouvé mieux que la classe ImageIcon.
    Le probleme est que l'image que j'obtiens (classe Image) n'est pas aussi claire que l'image de départ (classe BufferedImage).
    Image après:
    Nom : DesertApres.jpg
Affichages : 74
Taille : 123,2 Ko
    Image avant:
    Nom : Desert.jpg
Affichages : 74
Taille : 105,3 Ko

    Il me semble que c'est pas la même image !!!
    Coulane

  5. #5
    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
    Je ne comprends absolument pas ce que tu cherches à faire.
    Une BufferedImage est une Image, donc mon code ci dessus marche parfaitement...

    Mais bon si tu veux t'échiner à passer par un ByteArray

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    BufferedImage image; 
    ByteArrayOutputStream out = new ByteArrayOutputStream();
    ImageIO.write(image, "jpg", out); 
    BufferedImage img = ImageIO.read(new ByteArrayInputStream(out.toByteArray()));

  6. #6
    Nouveau membre du Club
    Inscrit en
    Juin 2010
    Messages
    47
    Détails du profil
    Informations forums :
    Inscription : Juin 2010
    Messages : 47
    Points : 39
    Points
    39
    Par défaut
    ça y est, j'ai retrouvé mon image !
    En fait c'est le ByteArrayInputStream qui me manquait, la classe ImageIcon n'était pas la bonne solution.
    Merci à sinok, merci à tous
    coulane

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

Discussions similaires

  1. [AC-2007] Pourquoi la taille de ma base est-elle si grosse ?
    Par jouclar dans le forum Modélisation
    Réponses: 3
    Dernier message: 04/01/2011, 14h22
  2. Nombres aléatoires de 0 à la taille de mon image
    Par hello05 dans le forum Images
    Réponses: 2
    Dernier message: 14/04/2008, 21h17
  3. [CSS] Modifier la taille de mon image pour mon bouton
    Par bouchette63 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 11/08/2006, 10h15
  4. Réponses: 9
    Dernier message: 29/04/2006, 13h15

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