Partage
  • Partager sur Facebook
  • Partager sur Twitter

enregistrer un BufferedImage

    28 avril 2008 à 12:45:12

    Bonjour, j'ai un petit soucis, voila, je voudrais enregistrer une image à partir d'un BufferedImage mais mon image créee est sistématiquement toute noir

    try {
                    BufferedImage img = new BufferedImage(72, 72, BufferedImage.TYPE_INT_RGB);
                    Graphics2D g2d = (Graphics2D)img.getGraphics();
                    g2d.setColor(Color.GRAY);
                    g2d.fillRect(0, 0, 72, 72);
            
                    g2d.dispose();
                    File f = new File("pouet.png");
                         ImageIO.write(img, "png", f);
            } catch(IOException e){System.out.println(e);}
    


    Je ne comprends pas pourquoi quand je modifie mon Graphics2D en le peignant completement en gris cela n'apparait pas sur l'image finale qui a les bonnes dimensions, qui est bien un png mais qui reste desespérément toute noir :(
    Cela fait la meme chose si je dessins n'importe ou dessus (j'ai juste mis un exemple de comment je m'y prenais)

    Quelqu'un saurait pourquoi ça fait ca?
    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      28 avril 2008 à 14:19:47

      Le message qui suit est une réponse automatique activée par un modérateur.
      Les réponses automatiques permettent d'éviter aux modérateurs d'avoir à répéter de nombreuses fois la même chose, et donc de leur faire gagner beaucoup de temps.
      Nous sommes néanmoins ouverts et si vous avez une question ou une remarque, n'hésitez pas à contacter le modérateur en question par MP.


      Merci d'utiliser les balises de code


      Bonjour,

      Les forums du Site du Zér0 disposent d'une fonctionnalité permettant de colorer et mettre en forme les codes source.
      Vous avez posté un code source sans utiliser cette fonctionnalité. Pourriez-vous éditer votre message en entourant votre code des balises <code > et </code > ?

      Cela aura pour effet de "colorer" votre code et donc d'en faciliter grandement la lecture. Vous aurez ainsi beaucoup plus de chances d'avoir des réponses.

      Voici un exemple de code non coloré avec la balise "citation" (mauvais exemple) :

      Citation

      int main(int argc, char *argv[])
      {
      long choixOperation;

      printf("Choisissez l'operation a effectuer");
      /* etc. */
      }



      Voici maintenant le même code coloré, si vous aviez utilisé la balise "code" (bon exemple) :

      int main(int argc, char *argv[])
      {
          long choixOperation;

          printf("Choisissez l'operation a effectuer");
          /* etc. */
      }


      C'est plus clair n'est-ce pas ? :)
      N'hésitez pas à éditer votre message pour changer la balise afin de colorer votre code.

      Plus d'informations à ce sujet


      Merci de votre compréhension :)
      Les modérateurs.
      • Partager sur Facebook
      • Partager sur Twitter

      If you'd like to join us, read "How do we work at OpenClassrooms"! :)

        2 mai 2008 à 14:42:51

        Ton code marche très bien ainsi :

        import java.awt.Color;
           import java.awt.Graphics2D;
           import java.awt.image.BufferedImage;
           import java.awt.image.*;
           import java.io.File;
           import java.io.IOException;
           import javax.imageio.ImageIO;
        
        
            public class TestBufferedImage {
           
               public TestBufferedImage() {
                 try {
                    BufferedImage img = new BufferedImage(72, 72, BufferedImage.TYPE_INT_RGB);
                    Graphics2D g2d = (Graphics2D)img.getGraphics();
                    g2d.setColor(Color.GRAY);
                    g2d.fillRect(0, 0, 72, 72);
                 
                    g2d.dispose();
                        
                    ImageIO.write(img, "png", new File("pouet.png"));
                 } 
                     catch(IOException e){System.out.println(e);}
              
              }
           
            
               public static void main(String[] args) {
                 new TestBufferedImage();
              }
           
            
           }
        


        Tu dois sans doute mal initialiser ton Buffered ou tu l'initialise au mauvais moment dans le reste de ton code ?
        • Partager sur Facebook
        • Partager sur Twitter

        enregistrer un BufferedImage

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown