Enregistrer le graphics sous forme d'une image png

Résolu
soniahilali Messages postés 14 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 5 juillet 2014 - 15 janv. 2014 à 14:33
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 - 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"));

2 réponses

cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
29 janv. 2014 à 13:35
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.
0
soniahilali Messages postés 14 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 5 juillet 2014
29 janv. 2014 à 16:09
Salut, merci beaucoup :)
0
cs_Julien39 Messages postés 6414 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 29 juillet 2020 371
30 janv. 2014 à 10:01
Dans ce cas, peux tu cliquer sur le "+" stp ?
0
Rejoignez-nous