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

AWT/Swing Java Discussion :

[JPanel] Convertir un drawingArea ou JPanel en Image


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Par défaut [JPanel] Convertir un drawingArea ou JPanel en Image
    Bonjour à tous,

    Je voudrais savoir si il est possible de convertir un drawingArea en une image pour "Exporter" un graphique que je realise dans mon appli.

    Merci à celui qui connait la réponse et à ceux qui lise ce post

  2. #2
    Membre éclairé
    Avatar de JMLLB
    Inscrit en
    Septembre 2006
    Messages
    285
    Détails du profil
    Informations forums :
    Inscription : Septembre 2006
    Messages : 285
    Par défaut
    Pour un JPanel cette méthode doit pouvoir fonctionner (à vérifier quand même je viens de la taper au feeling!):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public BufferedImage genererImage(){
      BufferedImage bImage= new BufferedImage(this.getWidth(),this.getHeight(),BufferedImage.TYPE_INT_RGB);
      Graphics2D g2D= (Graphics2D) bImage.getGraphics();
      this.paint(g2D);
    return bImage;
    }
    Pour un drawingArea je ne garantis rien, mais si, comme je le pense il implémente les méthodes paint, getWidth et getHeight il n'y a pas de raison que ça ne fonctionne pas.

  3. #3
    Membre éclairé Avatar de cysboy
    Profil pro
    Développeur informatique
    Inscrit en
    Août 2006
    Messages
    221
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Août 2006
    Messages : 221
    Par défaut
    Tu peux facilement mettre une image dasn un JLabel....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JLabel image = new JLabel(new ImageIcon("nom_de_ton_image.extension"));
    Le nom ici étant un chemin relatif. Cette méthode marche aussi avec les chemins absolu (C:/blablabla/bliblibli/nom_de_ton_image.extension)

    Mais si tu veux absolument mettre ton image dans un JPanel alors là....

  4. #4
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 2
    Par défaut [drawingArea] Convertir un drawingArea ou JPanel en Image
    Citation Envoyé par cysboy
    Tu peux facilement mettre une image dasn un JLabel....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    JLabel image = new JLabel(new ImageIcon("nom_de_ton_image.extension"));
    Le nom ici étant un chemin relatif. Cette méthode marche aussi avec les chemins absolu (C:/blablabla/bliblibli/nom_de_ton_image.extension)

    Mais si tu veux absolument mettre ton image dans un JPanel alors là....

    En fait je veux pas mettre une image dans un JPanel, je veux creer une image de mon JPanel. JMLLB m'a donner une solution je vais la tester.

  5. #5
    Membre Expert
    Avatar de xavlours
    Inscrit en
    Février 2004
    Messages
    1 832
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 1 832
    Par défaut
    C'est dans la , ici.

    C'est ce qu'a écrit JMLLB, à un dispose() près.
    "Le bon ni le mauvais ne me feraient de peine si si si je savais que j'en aurais l'étrenne." B.V.
    Non au langage SMS ! Je ne répondrai pas aux questions techniques par MP.
    Eclipse : News, FAQ, Cours, Livres, Blogs.Et moi.

  6. #6
    Membre averti
    Inscrit en
    Janvier 2008
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Janvier 2008
    Messages : 20
    Par défaut
    Bonjour,

    Je rebondis sur ce vieux post car j'ai le même souci.

    Je souhaite transformer un JPanel en image. J'utilise pour cela la méthode d'écrite dans la FAQ :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public Image getImage(Component component){
       if(component==null){return null;}
       int width = component.getWidth();
       int height = component.getHeight();
       BufferedImage image = new BufferedImage(width, height, 
                                                 BufferedImage.TYPE_INT_RGB);
       Graphics2D g = image.createGraphics();
       component.paintAll(g);
       g.dispose();
       return image;
    }
    mais l'image générée est noire. Le seul moyen que j'ai trouvé pour obtenir l'image du JPanel est de d'abord afficher le Jpanel dans une frame puis d'utiliser la méthode et enfin fermer la frame. Ce qui n'est pas géniale comme solution.

    Si quelqu'un avait une idée ...


    Barjovial

  7. #7
    Expert confirmé
    Avatar de sinok
    Profil pro
    Inscrit en
    Août 2004
    Messages
    8 765
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Août 2004
    Messages : 8 765
    Par défaut
    Une petite recherche t'aurais amené la réponse ^^
    http://www.developpez.net/forums/d76...re-jcomponent/

Discussions similaires

  1. [JPanel] suppression définitive d'un JPanel
    Par Flophx dans le forum AWT/Swing
    Réponses: 3
    Dernier message: 22/11/2006, 10h38
  2. Réponses: 3
    Dernier message: 06/03/2006, 18h08
  3. Convertir un Graphics g en une image
    Par MeDioN dans le forum 2D
    Réponses: 2
    Dernier message: 10/01/2006, 09h27
  4. [C#] Convertir un tableau de byte en Image
    Par goulhasch dans le forum ASP.NET
    Réponses: 4
    Dernier message: 24/01/2005, 10h12

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