Bonjour,
Je cherche une solution pour convertir un tableau de données en image (png par exemple).
Existe-t-il un moyen de le faire en java ?
Je n'arrive pas à trouver....
Merci par avance pour votre aide
Bonjour,
Je cherche une solution pour convertir un tableau de données en image (png par exemple).
Existe-t-il un moyen de le faire en java ?
Je n'arrive pas à trouver....
Merci par avance pour votre aide
Si tu affiches ton tableau via une interface graphique Java en Swing (JTable par exemple), il n'est effectivement pas dur de récupérer sa représentation graphique pour l'enregistrer sous la forme d'une image.
Avant de poster, pensez à regarder la FAQ, les tutoriaux, la Javadoc (de la JRE que vous utilisez) et à faire une recherche
Je ne réponds pas aux questions techniques par MP: les forums sont faits pour ça
Mes articles et tutoriaux & Mon blog informatique
Bonjour,
voici un post pour t'aider dans ton projet, du code pour enregistrer une image au format PNG, JPG ou GIF : http://www.developpez.net/forums/sho...02#post2371102
Pour créer ton image, j'ai pensé à surcharger la méthode paint(Graphics g) de la classe JFrame, mais je n'ai pas réussi.
Si tu produis une BufferedImage, tu pourras l'enregistrer grâce à ImageSaver.
Ca y est !
Voici une JFrame qui fait des screen shots.
Si tu affiche ton tableau dedans, tu pourras sans problème le convertir en image.
Le lien : http://www.developpez.net/forums/sho...16#post2371116
Merci beaucoup pour vos réponses, c'est super sympa !
J'ai fait un petit code pour tenter de convertir une table toute simple
Voici ce code
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 import java.awt.*; import javax.servlet.*; import javax.servlet.http.*; import java.awt.image.BufferedImage; import java.io.*; import javax.imageio.ImageIO; import javax.swing.*; import javax.swing.table.*; public class tableau1 extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { Object cols[] = {"this", "is", "a test"}; Object data[][] = {{"a","b","c"},{"d","e","f"},{"g","h","i"}}; JTable table = new JTable(data,cols); BufferedImage image = new BufferedImage(table.getWidth(), table.getHeight() ,BufferedImage.TYPE_INT_RGB); response.setContentType("image/png"); OutputStream ous = response.getOutputStream(); ImageIO.write(image,"png",ous); } }
J'appelle cette servlet dans le fichier jsp suivant:
Mais malheureusement aucune image ne s'affiche dans le navigateur...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 <HTML> <HEADER> <TITLE>Test</TITLE> </HEADER> <BODY> <H2>Test</H2> <IMG SRC=/test2/servlet/tableau1 BORDER=1 WIDTH=400 HEIGHT=300/> </body> </html>
Certains d'entre vous auraient-ils des idées ? Je ne sais vraiment plus quoi faire, c'est pourtant quelque chose qui paraît tout simple![]()
![]()
![]()
Merci beaucoup par avance !
Je ne suis pas sûr que les applets soient mieux pour commencer, je ne les connais pas encore, je suis plutôt applis.
Dans ton code, quelles sont les méthodes qui transforment ta BufferedImage de départ (vide) en une image qui contient ta table?
D'autre part, quelle est la partie de ton code qui gère l'affichage?
Ce que j'en vois c'est qu'il est normal que ton applet n'affiche rien, mais inspire-toi du JFrameScreenShot et de ImageSaver pour t'aider sur les méthodes d'affichage et de dessin.
Partager