Créer un fichier Jpeg a partir d'objet "Image" ou "Graphics"

Créer un fichier Jpeg a partir d'objet "Image" ou "Graphics" - Java - Programmation

Marsh Posté le 18-03-2003 à 14:58:39    

Salut :hello:
 
Je suis de retour sur le forum programation avec une petite question java.
 
En effet, en ce moment je programme un petit utilitaire de dessin.
Je dessine dans un JPanel, le dessin étant memorisé dans une "Image" (en fait je dessine dans le "Graphics" associé a l'"Image" puis j'affiche l'image avec "drawImage" dans le "Graphics" du JPanel.
 
Ce que j'aimerai maitnenant c'est avoir la possibilité d'"enregistrer cette image en jpg, mais malgré mes recherches dans la java doc et sur le net je n'ai pas réussi.
 
Si vous avez des explication ou URL n'hésitez pas :jap:
 
(je bosse sous 1.3.1)

Reply

Marsh Posté le 18-03-2003 à 14:58:39   

Reply

Marsh Posté le 18-03-2003 à 15:04:56    

deja poste au moins deux fois ...
par contre, ca marche mieux en PNG si mes souvenirs sont bons (JPEG, c'est pas libre !)


---------------
get amaroK plugin
Reply

Marsh Posté le 18-03-2003 à 15:09:07    

je veins de re rechercher, je trouve pas les topics en question :/ (j'ai cherché sur image et jpeg et png dans la cat java...)

Reply

Marsh Posté le 18-03-2003 à 15:09:11    

bobuse a écrit :

grossomodo, voila comment j'avais fait à l'epoque :
J'utilisais Java2D pour dessiner mes trucs sur MonPanel après,

Code :
  1. public void saveGraph() {
  2.     BufferedImage outImage=new BufferedImage(MonPanel.getWidth(),MonPanel.getHeight(),BufferedImage.TYPE_INT_RGB);
  3.     Graphics2D graphics=outImage.createGraphics();
  4.     MonPanel.paint(graphics);
  5.     File outFile=new File("out.png" );
  6.     try {
  7.         if (!ImageIO.write(outImage,"png",outFile))
  8.             System.out.println("Format d'écriture non pris en charge" );
  9.     } catch (Exception e) {
  10.         System.out.println("erreur dans l'enregistrement de l'image :" );
  11.         e.printStackTrace();
  12.     }
  13. }


 
Je sais pas si c'est la meilleure méthode mais ça marchait nickel ...


source http://forum.hardware.fr/forum2.ph [...] h=&subcat=
yen a d'autres des topics sur le sujet ...


---------------
get amaroK plugin
Reply

Marsh Posté le 18-03-2003 à 15:10:38    

A ma connaissance, JPEG est libre, c'est GIF qui ne l'est pas.

Reply

Marsh Posté le 18-03-2003 à 15:13:47    

BifaceMcLeOD a écrit :

A ma connaissance, JPEG est libre, c'est GIF qui ne l'est pas.


ha bon ? autant pour moi [:ooooo]
Mais bon, en tout cas, c'est plus adapté du PNG, et puis les lib sont plus faciles a utiliser si mes souvemirs sont bons  ;)


---------------
get amaroK plugin
Reply

Marsh Posté le 18-03-2003 à 15:16:18    

bobuse a écrit :


source http://forum.hardware.fr/forum2.ph [...] h=&subcat=
yen a d'autres des topics sur le sujet ...

en gros il suffit d'écrire la buffered image dans un ficheir ? il n'y  a pas de fonctions a utiliser pr encoder ? (ou alros y a un truc que j'ai pas vu)

Reply

Marsh Posté le 18-03-2003 à 15:19:06    

heu c'est pas un write a la con kan meme ...
 

Citation :

ImageIO.write(...)


---------------
get amaroK plugin
Reply

Marsh Posté le 18-03-2003 à 15:19:57    

bobuse a écrit :

heu c'est pas un write a la con kan meme ...
 

Citation :

ImageIO.write(...)

 

oups j'avai po vu :D
 
merci :jap:

Reply

Marsh Posté le 18-03-2003 à 15:37:08    

mr_mat a écrit :

oups j'avai po vu :D
 
merci :jap:


 
Mais le package image n'est apparu que dans le jdk 1.4.

Reply

Marsh Posté le 18-03-2003 à 15:37:08   

Reply

Marsh Posté le 18-03-2003 à 15:43:49    

Code :
  1. import com.sun.image.codec.jpeg.*;
  2. try {
  3.     flux = new FileOutputStream(nomDuFichier);
  4.     fluxBuf = new BufferedOutputStream(flux);
  5.     codec = JPEGCodec.createJPEGEncoder(fluxBuf, JPEGCodec.getDefaultJPEGEncodeParam(monImage));
  6.     codec.encode(monImage);
  7.     fluxBuf.close();
  8. catch (Exception e) {
  9.     e.printStackTrace();
  10. }


 
Avec monImage, une BufferedImage.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 18-03-2003 à 16:38:15    

bobuse a écrit :


ha bon ? autant pour moi [:ooooo]
Mais bon, en tout cas, c'est plus adapté du PNG, et puis les lib sont plus faciles a utiliser si mes souvemirs sont bons  ;)  


Pas le même usage. JPG compresse bien les images représentant  des scènes (photos ou images générées), de manière générale des images avec très peu de régularité (des formes géométriques, pour simplifier) ; PNG et GIF compressent bien les images contenant une grande régularité (aplats, où JPEG crée des artefacts) ou peu de nuances de couleurs (type captures d'écran)


Message édité par BifaceMcLeOD le 18-03-2003 à 16:39:26
Reply

Marsh Posté le 18-03-2003 à 16:43:05    

BifaceMcLeOD a écrit :


Pas le même usage. JPG compresse bien les images représentant  des scènes (photos ou images générées), de manière générale des images avec très peu de régularité (des formes géométriques, pour simplifier) ; PNG et GIF compressent bien les images contenant une grande régularité (aplats, où JPEG crée des artefacts) ou peu de nuances de couleurs (type captures d'écran)


Justement ! A priori le JPanel est pas censé représenter une image "naturelle", mais plutot geometrique :)


---------------
get amaroK plugin
Reply

Marsh Posté le 18-03-2003 à 16:44:53    

:heink:
...
 
 :o Dans le cas de mr_mat, c'est exact.  :jap:


Message édité par BifaceMcLeOD le 18-03-2003 à 16:45:42
Reply

Marsh Posté le 18-03-2003 à 16:45:53    

BifaceMcLeOD a écrit :

Dans le cas de mr_mat, c'est exact.  :jap:  


ok  [:z-bob]


---------------
get amaroK plugin
Reply

Marsh Posté le 22-03-2003 à 17:52:51    

après qq essai en effet c que dans le 1.4 le pack imageio :D
 
je vai tester avec jpegencodermachintruc :jap:
 
au fait vous battez pas pr sdavoir si il faut du jpg ou du png, les deux seront possibles a terme :)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed