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

  FORUM HardWare.fr
  Programmation
  Java

  Enregistrer une image sans l'afficher

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Enregistrer une image sans l'afficher

n°721084
brasseldX
Posté le 10-05-2004 à 19:21:23  profilanswer
 

Bonjour à tous,
Premiérement merci à tous de participer activement au forum.
Ca aide énormément de lire les divers sujets qui y circulent. Nous apprenons enormement.
Ensuite, vient l'heure de la petite question :
est-il possible en Java, d'enregistrer une image sans la visualiser au préalable ?? Car je veux générer une courbe et enregistrer la courbe correspondante dans un fichier. Donc en fait dans un JPanel, j'utilise la méthode paint pour dessiner ma courbe. Ce qu'il y a c'est que pour l'enregistrer j'aibesoin de l'afficher car j'utilise ceci :
 

BufferedImage thumbImage = new BufferedImage(d.width, d.height, BufferedImage.TYPE_INT_RGB);
      Graphics2D graphics2D = thumbImage.createGraphics();
      graphics2D.setRenderingHint(RenderingHints.KEY_INTERPOLATION,
        RenderingHints.VALUE_INTERPOLATION_BILINEAR);
      graphics2D.drawImage(offScreen, 0, 0, d.width, d.height, null);
 
         BufferedOutputStream out = new BufferedOutputStream(new
             FileOutputStream("c:\\courbe.jpg" ));
      JPEGImageEncoder encoder = JPEGCodec.createJPEGEncoder(out);
      JPEGEncodeParam param = encoder.getDefaultJPEGEncodeParam(thumbImage);
      int quality = 100;
      quality = Math.max(0, Math.min(quality, 100));
      param.setQuality((float)quality / 100.0f, false);
      encoder.setJPEGEncodeParam(param);
      encoder.encode(thumbImage);

 
si quelqu'un pouvait m'aider...
Merci d'avance
Et continuer comme ça !!

mood
Publicité
Posté le 10-05-2004 à 19:21:23  profilanswer
 

n°721159
R3g
fonctionnaire certifié ITIL
Posté le 10-05-2004 à 20:47:46  profilanswer
 

je comprends pas ta question ; le code que tu as posté n'affiche pas l'image... C'est quoi offscreen ?


---------------
Au royaume des sourds, les borgnes sont sourds.
n°721223
seabee
Posté le 10-05-2004 à 22:16:03  profilanswer
 

Ouaou, y'a plus simple quand même...

Code :
  1. BufferedImage bi =
  2.     new BufferedImage(HAUTEUR, LARGEUR, BufferedImage.TYPE_INT_RGB);
  3. Graphics g = bi.getGraphics();
  4. /*
  5. * Opérations de painturages sur g;
  6. */
  7. ImageIO.write(bi, "jpg", new File(FILE_NAME));


 
De cette façon tu n'écris pas à l'écran, mais directement sur ta BufferedImage.
 
Pour charger un fichier dans une BufferedImage, tu fais :
 

Code :
  1. BufferedImage bi = ImageIO.read(new File(f));


 
Et tu pourras également extraire le Graphics avec un getGraphics

n°721609
gfive
Posté le 11-05-2004 à 11:18:53  profilanswer
 

mais si tu es en jdk < 1.4, et que ton image n'est pas affichée à l'écran, tu obtiendras null, normalement.

n°721666
seabee
Posté le 11-05-2004 à 11:44:38  profilanswer
 

gfive a écrit :

mais si tu es en jdk < 1.4, et que ton image n'est pas affichée à l'écran, tu obtiendras null, normalement.


 
C'est folklo, ça.  :??:  
Aucune envie de vérifier, j'avoue.  :D  
Mais il n'a pas parlé de JDK < 1.4, donc ça devrait aller, je suppose...

n°721682
gfive
Posté le 11-05-2004 à 11:51:13  profilanswer
 

c'est pas folklo : c'est l'option "headless" de Java, qui permet de travailler des images sans environnement graphique.


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

  Enregistrer une image sans l'afficher

 

Sujets relatifs
Est-ce possible d'afficher cela sur une page ?afficher une boite de dialogue en plein écran avec CDialog
lien sur une image[Javascript] Probleme javascript pour afficher [Résolu]
lire et afficher un fichier texte en Cafficher une partie d'une image
affichage d'image en CAfficher le contenu d'un XSD avec xsl
Transformer une image monochrome en tableau de bitenregistrer / afficher une image dans une base mysql
Plus de sujets relatifs à : Enregistrer une image sans l'afficher


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)