Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1768 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [java] Enregistrer une image dans un fichier.

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[java] Enregistrer une image dans un fichier.

n°1084099
patastronc​h
Posté le 15-05-2005 à 13:23:40  profilanswer
 

Mon programme trace une courbe dans un JPanel. Et j'aimerais savoir si c est possible et comment faire, pour enregistrer cette courbe dans un fichier image comme un jpg ou autre format.
 
Merci d'avance, si j'ai pas ete assez precis n'hesitez pas a me le dire je tacherai de detailler.

mood
Publicité
Posté le 15-05-2005 à 13:23:40  profilanswer
 

n°1084313
beemer
Posté le 15-05-2005 à 16:45:43  profilanswer
 
n°1085256
claque2000
GamerTag : claquos2000
Posté le 16-05-2005 à 12:00:37  profilanswer
 

Si t'utilises une BufferedImage, un ptit tour vers ImageIO et ca se fait en 2 sec. Tous les formats d'images ne sont pas acceptés, mais le jpeg marche c'est sur.

n°1085274
patastronc​h
Posté le 16-05-2005 à 12:16:04  profilanswer
 

ok merci :) c'est exactement ce que je cherchais.
 
Edit :  
 
(j ai pas utilisé imageIO mais JPEGCodec et JPEGImageEncoder)
 
Pour ceux que ca interesse voila ce que ca donne (ca marche ) :
Il faut importer :
import java.awt.image.BufferedImage;
import com.sun.image.codec.jpeg.JPEGCodec;
import com.sun.image.codec.jpeg.JPEGImageEncoder;
 
 
        public void saveComponentAsJPEG(Component myComponent, String filename) {
         Dimension size = myComponent.getSize();
         BufferedImage myImage = new BufferedImage(size.width, size.height,BufferedImage.TYPE_INT_RGB);
         Graphics2D graph = myImage.createGraphics();
         myComponent.paint(graph);
         try {
           OutputStream out = new FileOutputStream(filename);
           JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
           encoder.encode(myImage);
           out.close();
           System.out.println("la courbe a ete sauvée dans le fichier "+filename);
         } catch (Exception e) {
           System.out.println("Impossible de sauver la courbe : "+e);
         }
      }
 
Par contre j'ai encore un petit soucis : mon JPanel a un BackGroung de valeur white, mais le jpg sauvé a un fond noir.
Je debute en java je precise. Si quelqu un a une idée de la ou ca peut venir ... merci.


Message édité par patastronch le 16-05-2005 à 12:31:38
n°1092042
dilbert
Posté le 21-05-2005 à 23:27:18  profilanswer
 

Rajoute cette ligne :
myComponent.printAll(graph);

n°1747193
esperal
Posté le 16-06-2008 à 20:27:39  profilanswer
 

Super le code, il m'a beaucoup aidé.
Mais je n'arrive pas à supprimer le fond noir :
ni avec myComponent.printAll(graph);
ni avec myComponent.paintAll(graph);
Si quelqu'un peut m'aider, merci


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [java] Enregistrer une image dans un fichier.

 

Sujets relatifs
Probleme d'extraction de fichierFaire un cadre autour d'une image en CSS
Problème d'insertion javaJava 3D
[C] charger un fichier texte en tableauURGENT modification d un fichier avec kix32
[Resolu] Bug de lecture de fichier : encodageCompilation d'un programme java
récupérer les coordonnées d'un clic sur une imagec++ builder créer fichier install
Plus de sujets relatifs à : [java] Enregistrer une image dans un fichier.


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR