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![]()
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![]()
Pour un JPanel cette méthode doit pouvoir fonctionner (à vérifier quand même je viens de la taper au feeling!):
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.
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; }
Tu peux facilement mettre une image dasn un JLabel....
Le nom ici étant un chemin relatif. Cette méthode marche aussi avec les chemins absolu (C:/blablabla/bliblibli/nom_de_ton_image.extension)
Code : Sélectionner tout - Visualiser dans une fenêtre à part JLabel image = new JLabel(new ImageIcon("nom_de_ton_image.extension"));
Mais si tu veux absolument mettre ton image dans un JPanel alors là....
Envoyé par cysboy
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.
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 :
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.
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; }
Si quelqu'un avait une idée ...
Barjovial
Une petite recherche t'aurais amené la réponse ^^
http://www.developpez.net/forums/d76...re-jcomponent/
Partager