Enregistrer le graphics sous forme d'une image png [Résolu]

Messages postés
14
Date d'inscription
mercredi 16 mai 2012
Statut
Membre
Dernière intervention
5 juillet 2014
- - Dernière réponse : cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
- 30 janv. 2014 à 10:01
Salut, je suis débutante et j'ai travaille avec java swing. j'ai crée mon application et maintenant je veux l'enregistrer sous forme d'une image png. En fin, je réussi de faire mais l'image n'est pas clair et le contenu de l'image est illisible. Quelqu'un peut m'aider svp et merci d'avance. a titre de remarque j'ai deja utilisée le scale (graphics.scale(2,2)) mais dans l'image il apparaître juste une partie de la graphics et moi je besoin de tout le grahics dans l'image. voici le code
	BufferedImage((int)xmax,(int)ymax,   BufferedImage.TYPE_INT_RGB);
graphics = bi.createGraphics();
graphics.setColor(getBackground());

canvas.printAll(graphics);
ImageIO.write(bi, "png", new
File("./image.png"));
Afficher la suite 

2 réponses

Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
250
0
Merci
Salut,

Je te donne la fonction que j'utilise pour réaliser ceci :

 public void enregistrer(Container p, String path) throws IOException {
        BufferedImage tamponSauvegarde = new BufferedImage(
                p.getPreferredSize().width,
                p.getPreferredSize().height,
                BufferedImage.TYPE_3BYTE_BGR);
        Graphics g = tamponSauvegarde.getGraphics();
        g.setColor(Color.WHITE);
        g.fillRect(0, 0, p.getSize().width,
                p.getSize().height);
        p.paint(g);
        ImageIO.write(tamponSauvegarde, "PNG", new File(path)); 
    }


Il est normal que tu ais une perte de qualité, une solution serait d'augmenter la taille du container à l'écran pour améliorer la qualité de l'image.
Commenter la réponse de cs_Julien39
Messages postés
14
Date d'inscription
mercredi 16 mai 2012
Statut
Membre
Dernière intervention
5 juillet 2014
0
Merci
Salut, merci beaucoup :)
cs_Julien39
Messages postés
6413
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
250 -
Dans ce cas, peux tu cliquer sur le "+" stp ?
Commenter la réponse de soniahilali