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

Messages postés
14
Date d'inscription
mercredi 16 mai 2012
Dernière intervention
5 juillet 2014
- 15 janv. 2014 à 14:33 - Dernière réponse :
Messages postés
6450
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 

Votre réponse

2 réponses

Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
29 janv. 2014 à 13:35
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
Dernière intervention
5 juillet 2014
29 janv. 2014 à 16:09
0
Merci
Salut, merci beaucoup :)
Messages postés
6450
Date d'inscription
mardi 8 mars 2005
Statut
Modérateur
Dernière intervention
17 mai 2018
- 30 janv. 2014 à 10:01
Dans ce cas, peux tu cliquer sur le "+" stp ?
Commenter la réponse de soniahilali

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.