Partage
  • Partager sur Facebook
  • Partager sur Twitter

Écrire une image jpeg.

Invalid argument to native writeImage

    18 août 2009 à 11:31:45

    Bonjour,
    quand j'essaye d'écrire une image jpeg, j'obtiens l'exception suivante :
    javax.imageio.IIOException: Invalid argument to native writeImage

    J'ai essayé en png et ça ne pose pas de problème, je précise que mon image est une BufferedImage. Je l'obtiens après pas mal de manipulations (redimensionnement, et fusion avec une image png ayant de la transparence).
    Je me disais que c'était peut-être lié à un problème de transparence car bien que mon image finale soit sensée ne pas avoir de pixel transparent, des images transparentes sont utilisées pour la composer.
    le code de ma fonction qui écrit mon image :
    public static void ecrisJPEG(BufferedImage source, String fichier) throws IOException {
            Iterator writers = ImageIO.getImageWritersByFormatName("jpeg");
            ImageWriter writer = (ImageWriter)writers.next();
            File out = new File(fichier);
            ImageOutputStream ios = ImageIO.createImageOutputStream(out);
            writer.setOutput(ios);
            writer.write(source);
        }
    

    L'exception est levée à la ligne 8.

    D'avance merci !
    • Partager sur Facebook
    • Partager sur Twitter
      18 août 2009 à 14:32:00

      Slt
      pourquoi ne pas faire tous simplement :

      public static void ecrisJPEG(BufferedImage source, String fichier) throws Exception {
              ImageIO.write(source, "jpeg",new File(fichier));
          }
      
      • Partager sur Facebook
      • Partager sur Twitter
        18 août 2009 à 14:54:29

        Oui, d'accord, c'est d'ailleurs comme ça que je fais maintenant mais j'obtiens exactement le même bug.
        Du coup, pour l'instant je fais en png, mais ça m'énerve de pas savoir :D
        • Partager sur Facebook
        • Partager sur Twitter
          18 août 2009 à 21:01:42

          As OpenJDK doesn't implement the native jpeg encoder..... c'est peut-être la source de ton problème. L'OpenJDK ne possède pas l'encodeur JPEG natif.
          • Partager sur Facebook
          • Partager sur Twitter
            19 août 2009 à 12:53:11

            J'utilise le jdk de sun, il a le même problème ?

            Merci pour vos réponses
            • Partager sur Facebook
            • Partager sur Twitter

            Écrire une image jpeg.

            × 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