Java читать различные типы форматов изображений JPG, TIF, GIF, PNG - PullRequest
2 голосов
/ 02 февраля 2012

Я пытаюсь прочитать некоторые файлы изображений JPG, TIF, GIF, PNG и необходимо сохранить файлы и создавать значки.И я получаю UnsupportedTypeException.

ImageIO.read(file);

Если я использую следующую строку, как обсуждалось ранее в форме.

BufferedImage img = JPEGCodec.createJPEGDecoder(inputStream).decodeAsBufferedImage();

Я получаю JPEGCodec не найден символ.

Я использую Netbean 7.0.1.Я также добавил jai-imageio.jar.

Ответы [ 3 ]

0 голосов
/ 02 февраля 2012

JAI-ImageIO включает в себя плагины для файловых форматов, таких как TIFF, поэтому в принципе то, что вы пытаетесь сделать, должно работать.Однако для установки JAI-ImageIO недостаточно добавить его в путь к классам.Смотрите полную инструкцию по установке здесь: http://java.sun.com/products/java-media/jai/INSTALL-jai_imageio_1_0_01.html

0 голосов
/ 06 февраля 2012

Fr детализация, которую мы можем видеть как http://www.randelshofer.ch/blog/2011/08/reading-cmyk-jpeg-images-with-java-imageio/

Image img = null;
ImageInputStream iis = new FileImageInputStream(file);
try {
    for (Iterator<ImageReader> i = ImageIO.getImageReaders(iis);
         img == null && i.hasNext(); ) {
        ImageReader r = i.next();
        try {
            r.setInput(iis);
            img = r.read(0);
        } catch (IOException e) {}
    }
} finally {
    iis.close();
}
return img;

Java advanced image io также решает проблему, но ее трудно поддерживать для установки на всех формах пластины.

0 голосов
/ 02 февраля 2012

По умолчанию ImageIO может читать только форматы файлов JPG, GIF и PNG, если я правильно помню. Чтобы добавить новые форматы, такие как TIFF, вам нужно добавить плагин, который является файлом jar, к вашему classpath и добавить ImageIO.scanForPlugins () в ваш код перед попыткой чтения файла.

Пример плагина:

http://ij -plugins.sourceforge.net / плагины / ImageIO /

Попробуйте "Плагины ImageIO" в Google.

...