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

3D Java Discussion :

Comment enregistrer GLcanvas en JPEG


Sujet :

3D Java

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 16
    Par défaut Comment enregistrer GLcanvas en JPEG
    Salut a tous

    Voila la question et dans le titre, ca fait 2 jours que je seche dessus, j'avance pas dans mon stage donc, j'ai essayé tout un tas de truc inutile...

    Voila a prioris le code qui serait logique pour enregistrer (de 2 facon différents ce glcanvas):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
       BufferedImage bimg = new BufferedImage(myCanvas.getWidth(), myCanvas.getHeight(), BufferedImage.TYPE_INT_RGB);
               Graphics graph = bimg.createGraphics();
               myCanvas.paintAll(graph);
               File file = new File("test1.jpg");      
     
               try
               {    ImageIO.write( bimg, "jpg", new File("test2.jpeg"));                  
                   FileOutputStream out = new FileOutputStream(file);
                      JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
                      JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(bimg);
                      param.setQuality(1.0f, false);
                      encoder.setJPEGEncodeParam(param);
                      encoder.encode(bimg); 
               }
    Je precise que cela me genere deux image toute noires de 4,4ko.

    Je precise aussi que ce projet est de la modélisatition en 3D du mouvement d'objet sous la contraction plus ou moins fortes de certains muscles...

    Si vous pouvez m'apporter de l'aide, apparement, c'est bien dur, parceque ca fait 2 jours que je fouille tout le web avec plus ou moins d'energie...

    Merci bcp

  2. #2
    Membre émérite Avatar de sozie9372
    Inscrit en
    Mai 2005
    Messages
    713
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mai 2005
    Messages : 713
    Par défaut
    Salut !

    voila si ca peut t'aider, j'avais fait ca en projet, mais ca enregistre au format png... J'ai pas testé avec JPEG.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    try {
    	FileDialog fd = new FileDialog(myFrame,			"Enregistre le résultat...",			FileDialog.SAVE);
    	fd.setFile("programme.png");
    	fd.setVisible(true);
    	String name = fd.getFile();
    	Rectangle r = myCanvas.getBounds();
    	Image image = myCanvas.createImage(r.width, r.height);
    	Graphics g = image.getGraphics();
    	myCanvas.paint(g);
    	ImageIO.write((RenderedImage) image, "png", new File(name));
    } catch (IOException ioe) {
    	ioe.printStackTrace();
    }
    +++
    Ju

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 16
    Par défaut
    Salut ju, je te remercie de ton attention, mais ca ne donne rien, enfin des images blanches quoi...
    J'avait deja essayer un truc similaire sans resultat, je ne comprend vraiment pas.
    On m'a dit de regarder du coté de graphicsConfiguration, mais rien reussit non plus car plus compliqué aussi.....

  4. #4
    Gfx
    Gfx est déconnecté
    Expert confirmé
    Avatar de Gfx
    Inscrit en
    Mai 2005
    Messages
    1 770
    Détails du profil
    Informations personnelles :
    Âge : 43

    Informations forums :
    Inscription : Mai 2005
    Messages : 1 770
    Par défaut
    Tu utilises JOGL ? Si oui il y a une classe Screenshot pour faire ca (http://download.java.net/media/jogl/builds/nightly/javadoc_public/com/sun/opengl/util/Screenshot.html).

Discussions similaires

  1. Comment enregistrer un JFrame en JPEG?
    Par danje dans le forum Agents de placement/Fenêtres
    Réponses: 8
    Dernier message: 20/11/2016, 11h20
  2. Réponses: 1
    Dernier message: 22/02/2010, 17h25
  3. Réponses: 0
    Dernier message: 18/01/2010, 22h04
  4. Comment enregistrer un stream de longueur fixe ?
    Par Alcarbone dans le forum MFC
    Réponses: 5
    Dernier message: 13/04/2003, 20h14
  5. comment réduire une image jpeg (taille x*y)
    Par don-diego dans le forum C
    Réponses: 4
    Dernier message: 14/07/2002, 20h06

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