[RESOLU] Enregistrement d'images

Enregistrement d'images [RESOLU] - Java - Programmation

Marsh Posté le 22-05-2008 à 16:53:07    

Bonjour les gens,
je travaille actuellement sur un projet de seam-carving en java.
Je vous expose mon (nouveau) problème:
Je n'arrive pas à sauvegarder en jpeg (en fait j'y arrive mais les couleurs ne sont plus les mêmes).
Voici la fonction utillisée:

Code :
  1. public void exporter(String chemin, String formatFichier) throws IOException{
  2.   BufferedImage image = this.matriceToImage();
  3.   image.createGraphics();
  4.   ImageIO.write(image, formatFichier, new File(chemin));
  5. }

Cette methode est dans la classe MatriceRGB.
J'utilise une matriceRGB dans laquelle je stocke la valeur RGB de chaque pixel.
La fonction matriceToImage renvoi donc une BufferedImage.
Cette méthode marche pour les png et les gif, cependant les jpeg sont enregistrés avec des couleurs différentes...
Par contre ca ne marche pas du tout pour les bmp.
Quelqu'un pourrait m'aider s'il vous plaît?
Merci d'avance


Message édité par TiBoO le 26-05-2008 à 17:40:31
Reply

Marsh Posté le 22-05-2008 à 16:53:07   

Reply

Marsh Posté le 23-05-2008 à 15:02:10    

Le problème vient du BufferedImage Collègue!
En fait le code ci-dessus marche.
Voici la solution pour ceux que ça intéresse :

Code :
  1. public BufferedImage matriceToImage (){
  2.         BufferedImage bimg = new BufferedImage(this.largeur,this.hauteur,BufferedImage.TYPE_INT_RGB);
  3.         for (int i=0; i<this.largeur; i++){
  4.             for (int j=0; j<this.hauteur; j++){ 
  5.                 bimg.setRGB(i, j, this.matrice[i][j] );
  6.             }
  7.         }
  8.         return bimg;
  9.     }


Code :
  1. public void exporter(String chemin, String formatFichier) throws IOException{
  2.      BufferedImage image = this.matriceToImage();
  3.  image.createGraphics();
  4.  ImageIO.write(image, formatFichier, new File(chemin));
  5. }


 
Merci à tout ceux qui ont cherché de ma part et de celle de mon collègue TiBoO.


Message édité par Tarcaye le 23-05-2008 à 15:03:27
Reply

Sujets relatifs:

Leave a Replay

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