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 :

export d'un JPanel en JPG


Sujet :

AWT/Swing Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 17
    Par défaut export d'un JPanel en JPG
    Bonjour, j'essaye d'exporter le contenu d'un JPanel en JPG. J'obtiens à chaque fois une image fausse.

    mon 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
    22
    23
     
    public void actionPerformed(ActionEvent arg0){
    		JFileChooser chooser = new JFileChooser();
    		chooser.setApproveButtonText("Exporter"); 
    		chooser.showOpenDialog(null); 
     
    		if (chooser.showOpenDialog(null) == JFileChooser.APPROVE_OPTION){
    	 		 BufferedImage tamponSauvegarde = new BufferedImage(
    			frame.pan.getPreferredSize().width,
    			frame.pan.getPreferredSize().height,
    			BufferedImage.TYPE_INT_RGB);
    	 		Graphics g = frame.pan.getGraphics();
    			g.setColor(Color.WHITE);
    			frame.pan.paint(g);
    			try {
    				ImageIO.write(tamponSauvegarde, "JPG", chooser.getSelectedFile());
    			} catch (IOException e) {
    				JOptionPane.showMessageDialog(null, "Création du fichier impossible",
    						null, JOptionPane.ERROR_MESSAGE);
    			} 
    		}
     
    	}

  2. #2
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    Peut être qu'en remplacant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics g = frame.pan.getGraphics();
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Graphics g = tamponSauvegarde.getGraphics();
    çà fonctionnerait mieux? Parce que là, t'écrit rien dans ta bufferedimage

    Aussi, préfère print() ou printAll() à paint(), paint n'est pas prévu pour être appelé directement.

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 17
    Par défaut
    Merci de ta réponse rapide.
    J'ai effectué le remplacement...mais cela ne fonctionne toujours pas.

    EDTI: par contre je viens d'essayer en appelant update(g), et ça fonctionne.

    Merci

  4. #4
    Membre chevronné Avatar de javaNavCha
    Homme Profil pro
    EKG Group
    Inscrit en
    Juillet 2009
    Messages
    311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : Tunisie

    Informations professionnelles :
    Activité : EKG Group
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2009
    Messages : 311
    Par défaut
    voici un code que j'utilise

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    			BufferedImage img = new BufferedImage(P.getWidth(), P.getHeight(), BufferedImage.TYPE_INT_RGB);
    			Graphics2D g2 = img.createGraphics();
    			P.paint(g2);
    			try{
    				ImageIO.write(img, "png", new File("Fiche Article.png"));
    			} catch (Exception e1) {
    				e1.printStackTrace();
    			}

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

Discussions similaires

  1. Exporter dessin en gif ou jpg
    Par lilo2000 dans le forum Macros et VBA Excel
    Réponses: 10
    Dernier message: 04/08/2008, 22h28
  2. Réponses: 1
    Dernier message: 19/06/2006, 19h47
  3. Export JPG sur objet graphique - Pb OLE
    Par Invité dans le forum Access
    Réponses: 6
    Dernier message: 12/05/2006, 16h38

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