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

soniahilali 14 Messages postés mercredi 16 mai 2012Date d'inscription 5 juillet 2014 Dernière intervention - 15 janv. 2014 à 14:33 - Dernière réponse : cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention
- 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

3 réponses

cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 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
soniahilali 14 Messages postés mercredi 16 mai 2012Date d'inscription 5 juillet 2014 Dernière intervention - 29 janv. 2014 à 16:09
0
Merci
Salut, merci beaucoup :)
cs_Julien39 6450 Messages postés mardi 8 mars 2005Date d'inscriptionModérateurStatut 17 mai 2018 Dernière intervention - 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.