Accueil > Forum > > > > Transformer un JPanel en un fichier image.
Transformer un JPanel en un fichier image.
vendredi 28 mai 2004 à 09:21:46 |
Transformer un JPanel en un fichier image.

Kael_Kael
|
Bonjour, je suis actuellement à la recherche d'un moyen de générer un fichier image à partir d'un jpanel (contenant des objets divers : jbutton, jtable, dessin ...). Sachant que mon JPanel peut-être plus grand que l'écran (il peut y avoir un ascenceur), je ne peut pas utiliser la méthode avec java.awt.Robot. J'attend vos réaction avec impatience
|
|
vendredi 28 mai 2004 à 22:36:09 |
Re : Transformer un JPanel en un fichier image.

Dobel
|
Salut
un bout de code pour écrire dans un png ou un jpeg le l'intégralité d'un JComponent qui se trouve dans un JScrollPane
BufferedImage image = new BufferedImage( (int) (jScrollPane.getHorizontalScrollBar().getMaximum()), (int) (jScrollPane.getVerticalScrollBar().getMaximum()), BufferedImage.TYPE_INT_RGB);
monCompoDansJScrollPane.paint(image.getGraphics());
try { //image png (new File("essai.png")).createNewFile(); PNGImageWriter wri = new PNGImageWriter(new com.sun.imageio.plugins.png.PNGImageWriterSpi()); javax.imageio.stream.FileImageOutputStream wri2 = new javax.imageio.stream.FileImageOutputStream(new File("essai.png")); wri.setOutput(wri2); wri.write(image); wri2.close();
//image jpg (new File("essai.jpg")).createNewFile(); DataOutputStream sortie = new DataOutputStream(new FileOutputStream("essai.jpg")); JPEGImageEncoder enc = JPEGCodec.createJPEGEncoder(sortie); enc.encode(image); sortie.close();
} catch (IOException ioe) { ioe.printStackTrace(); }
voila;-p
A+
|
|
vendredi 28 mai 2004 à 23:00:05 |
Re : Transformer un JPanel en un fichier image.

Dobel
|
allez hop, j'ai la forme !! un ptit code pour du bmp en plus (il n'y a rien à ma connaissance pour en créer aussi facilement que pour les png et jpg)
on a toujours image définie comme dans le code précédant
int resx = image.getWidth(); int resy = image.getHeight();
(new File("essai.bmp")).createNewFile(); DataOutputStream sortie = new DataOutputStream(new FileOutputStream("essai.bmp"));
//écriture de l'entête du fichier sortie.write(0x42); sortie.write(0x4D); writeInt(sortie,resx*resy*3+54); writeInt(sortie,0); writeInt(sortie,54); writeInt(sortie,40); writeInt(sortie,resx); writeInt(sortie,resy); sortie.write(1); sortie.write(0); sortie.write(24); sortie.write(0); writeInt(sortie,0); writeInt(sortie,resx*resy*3); writeInt(sortie,2851);writeInt(sortie,2851); writeInt(sortie,0);writeInt(sortie,0);
//ecriture des donnees int sup = (resx*3) % 4; for (int y=resy-1; y>=0; y--) { for (int x=0; x<resx; x++) { int rgb = image.getRGB(x, y); sortie.write(rgb & 0xFF); sortie.write((rgb>>8) & 0xFF); sortie.write((rgb>>16) & 0xFF); } for (int j=0; j<sup; j++) sortie.writeByte(0); } sortie.close();
où writeInt est la méthode suivante :
public void writeInt(DataOutputStream sortie, int n) { try { sortie.write((n) & 0xFF); sortie.write((n>>8) & 0xFF); sortie.write((n>>16) & 0xFF); sortie.write((n>>24) & 0xFF); } catch (IOException IOE) {} }
hop A+
Dobeliou [Qui pisse loin, ménage ses chaussures.]
|
|
mercredi 2 juin 2004 à 08:55:16 |
Re : Transformer un JPanel en un fichier image.

Kael_Kael
|
Merci de ton aide, en fait, j'avais trouvé une méthode qui se rapproche beaucoup de ta première solution (celle de l'impression en png). Mais j'ai un autre problème maintenant, le JPanel que je veux imprimer (qui se situe dans un JScrollPane) a un layout null. Cela me permet de placer au pixel près les objets dedans. Le problème vient du fait que lorsque mon JPanel est plus grand que le JScrollPane, les ascenceurs n'apparaissent pas. En bilan, mon impression n'imprime que ce que j'ai d'afficher à l'écran (et non tout ce qui est contenu dans le JPanel).
Kael Kael
|
|
Cette discussion est classée dans : fichier, image, transformer, jpanel
Répondre à ce message
Sujets en rapport avec ce message
Scroll [ par MELISA ]
Bonjour,Mon pb est le suivant:- je veux inserer un gif dans un JPanel, lui-même contenu dans un autre JPanel (je suis obligée d'utiliser un Panel au l
outils graphiques pour fichier image ou tableau HTML [ par jmg02001 ]
Sauriez vous si il y a des outils graphiques pour créer 1 histogramme ou une courbe sur, sur 1 fichier image ou 1 tableau HTML a partir d'une "List" J
Raffraichissement..... [ par drizztoli ]
Voila, j'ai une image posee en fond sur mon JPanel, mais mes boutons ajoutes a ce JPanel disparaissent derriere l'image et il n'apparaissent que lorsq
URGENT (BMP et BufferedImage) [ par Geomaster ]
Bonjour,J'ai réalisé un petit prog qui prend n'importe quelle image GIF ou JPEG et cree un fichier texte contenant les valeurs R, V et B de chaque pix
Afficher une image dans une appli [ par ozielm ]
MarcBonjour à tous, j'ai lu tous les sujets qui expliquaient comment afficher une image dans une appli mais voilà, je n'ai pas réussi à en faire march
moteur 2D [ par bob82fr ]
Lut tout le monde!J'ai un petit probleme...FAut que j'interprette un fichier en image...j'explquepar exemple dans mon ficher j'ai : 100001
Image dans JPanel cache mes boutons [ par Sw1tch ]
Bonjour,ca doit surement être tout bete, mais j'ai un petit problème.J'ai créé un JLabel qui à la meme taille que mon JPanel. J'y ai affecté un ImageI
Ecrire un fichier PostScript a partir Image 2D JAV [ par ericjava ]
Salut ,Je suis nouveau sur le forum. Gros souci dans le cadre de mon job. Merci par avance de m'aider.Je fais du JAVA 2D, j'ai donc une image bufferis
Graphics g avant affichage [ par magat ]
voila j'ai réalisé une appli de défillement d'image style powerpointmais j'ai placé mes image dans des jpanel car j'intègre en plus des images des obj
Creer une image TIF / Creer un fichier [ par yann09 ]
Salut a tous,Jai crée un servlet qui enregistre les données d'un formulaire dans une BD locale, je souhaiterais pouvoir créer une image TIF a partir d
Livres en rapport
|
Derniers Blogs
SESSION SILVERLIGHT 5 3D : SLIDES ET DEMOSSESSION SILVERLIGHT 5 3D : SLIDES ET DEMOS par Groc
Durant les techdays, j'ai eu le plaisir d'animer une session sur Silverlight 5 et la 3D avec Simon Ferquel. Comme promis, voici nos slides et mes démos (celles avec le viper BSG) ici et là. Pour mémoire, les démos utilisent toutes le viper BSG...
Cliquez pour lire la suite de l'article par Groc [TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES[TECHDAYS 2012] SESSION WEBMATRIX 2 : LE COUTEAU SUISSE GRATUIT POUR VOS DéVELOPPEMENTS WEB - SLIDES par gpommier
Suite à la session que j'ai présenté sur WebMatrix 2, vous pouvez trouver les slides ici, ainsi que les démos en packages nuget : démos1 et démos2 J'en profite pour remercier chaleureusement tous ceux qui sont venus très nombreux à cette sess...
Cliquez pour lire la suite de l'article par gpommier [SHAREPOINT] LES SESSIONS TECHDAYS 2012.[SHAREPOINT] LES SESSIONS TECHDAYS 2012. par Patrick Guimonet
Voici donc pour ceux qui n'ont pas pu venir, ou ceux qui n'ont pas pu toutes les suivre la liste des sessions SharePoint aux TechDays 2012, que je mettrais à jour dès que les liens des vidéo seront disponibles. Ou ici : http...
Cliquez pour lire la suite de l'article par Patrick Guimonet TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3TECHDAYS PARIS 2012 : SESSION PLEINIèRE JOUR 3 par ROMELARD Fabrice
Speaker: Bernard Ourghanlian Cette session est comme chaque jour transmise en live par BrainSonic, et j'ai donc suivi cette troisième pleinière par ce moyen sur mon iPad . Elle est dédiée comme chaque année à la mise en perspective de l'é...
Cliquez pour lire la suite de l'article par ROMELARD Fabrice MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE !MISHRA READER : UN LECTEUR RSS TRèS ZUNE STYLE EN OPEN SOURCE ! par Vko
Hier durant une session dédiée aux Techdays 2012, j'ai eu le plaisir d'annoncer la sortie de la Béta 2 de Mishra Reader. C'est quoi ? Pour les utilisateurs, c'est une vraie expérience de lecture de flux RSS sur Windows. Rien à voir avec les produit...
Cliquez pour lire la suite de l'article par Vko
Logiciels
Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System Easy-Planning (1.0.0.1)EASY-PLANNING (1.0.0.1)Basé sur les mêmes principes que MyPlanning, Easy-Planning permet de créer des plannings sous la ... Cliquez pour télécharger Easy-Planning
|