Example usage for javax.imageio ImageIO getImageReadersBySuffix

List of usage examples for javax.imageio ImageIO getImageReadersBySuffix

Introduction

In this page you can find the example usage for javax.imageio ImageIO getImageReadersBySuffix.

Prototype

public static Iterator<ImageReader> getImageReadersBySuffix(String fileSuffix) 

Source Link

Document

Returns an Iterator containing all currently registered ImageReader s that claim to be able to decode files with the given suffix.

Usage

From source file:Main.java

static public void main(String args[]) throws Exception {
    FileInputStream fin = new FileInputStream("a.gif");
    Iterator readers = ImageIO.getImageReadersBySuffix("GIF");
    ImageReader imageReader = (ImageReader) readers.next();
    ImageInputStream iis = ImageIO.createImageInputStream(fin);
    imageReader.setInput(iis, false);/*from  w ww. ja va2s.  c o m*/

    imageReader.addIIOReadProgressListener(new IIOReadProgressListener() {
        public void imageComplete(ImageReader source) {
            System.out.println("image complete " + source);
        }

        public void imageProgress(ImageReader source, float percentageDone) {
            System.out.println("image progress " + source + ": " + percentageDone + "%");
        }

        public void imageStarted(ImageReader source, int imageIndex) {
            System.out.println("image #" + imageIndex + " started " + source);
        }

        public void readAborted(ImageReader source) {
            System.out.println("read aborted " + source);
        }

        public void sequenceComplete(ImageReader source) {
            System.out.println("sequence complete " + source);
        }

        public void sequenceStarted(ImageReader source, int minIndex) {
            System.out.println("sequence started " + source + ": " + minIndex);
        }

        public void thumbnailComplete(ImageReader source) {
            System.out.println("thumbnail complete " + source);
        }

        public void thumbnailProgress(ImageReader source, float percentageDone) {
            System.out.println("thumbnail started " + source + ": " + percentageDone + "%");
        }

        public void thumbnailStarted(ImageReader source, int imageIndex, int thumbnailIndex) {
            System.out.println("thumbnail progress " + source + ", " + thumbnailIndex + " of " + imageIndex);
        }
    });

    BufferedImage image = imageReader.read(0);

    Iterator imageWriters = ImageIO.getImageWritersBySuffix("JPG");
    ImageWriter imageWriter = (ImageWriter) imageWriters.next();
    File file = new File("b.JPG");
    ImageOutputStream ios = ImageIO.createImageOutputStream(file);
    imageWriter.setOutput(ios);
    imageWriter.write(image);
}

From source file:Main.java

public static boolean canReadExtension(String fileExt) {
    Iterator iter = ImageIO.getImageReadersBySuffix(fileExt);
    return iter.hasNext();
}

From source file:Main.java

public Main() throws Exception {
    String filename = "a.png";
    FileInputStream inputStream = new FileInputStream(filename);
    String extensionName = filename.substring(filename.lastIndexOf('.') + 1);
    Iterator readers = ImageIO.getImageReadersBySuffix(extensionName);
    ImageReader imageReader = (ImageReader) readers.next();
    ImageInputStream imageInputStream = ImageIO.createImageInputStream(inputStream);
    imageReader.setInput(imageInputStream, false);
    int num = imageReader.getNumImages(true);
    images = new BufferedImage[num];
    for (int i = 0; i < num; ++i) {
        images[i] = imageReader.read(i);
    }//w  w w .ja  va  2 s.  c  o  m
    inputStream.close();
}

From source file:Main.java

public Main(String filename) throws Exception {
    FileInputStream fin = new FileInputStream(filename);
    String suffix = filename.substring(filename.lastIndexOf('.') + 1);
    System.out.println("suf " + suffix);
    Iterator readers = ImageIO.getImageReadersBySuffix(suffix);
    ImageReader imageReader = (ImageReader) readers.next();
    ImageInputStream iis = ImageIO.createImageInputStream(fin);
    imageReader.setInput(iis, false);/*from w  w w  .ja va  2 s.  c  o m*/
    int num = imageReader.getNumImages(true);
    images = new BufferedImage[num];
    for (int i = 0; i < num; ++i) {
        images[i] = imageReader.read(i);
    }
    fin.close();
}

From source file:it.geosolutions.imageio.plugins.nitronitf.ReaderTest.java

public void testInstalled() {
    assertTrue(ImageIO.getImageReadersBySuffix("ntf").hasNext());
    assertTrue(ImageIO.getImageReadersBySuffix("nitf").hasNext());
    assertTrue(ImageIO.getImageReadersBySuffix("nsf").hasNext());
}

From source file:it.geosolutions.imageio.plugins.nitronitf.ImageIOUtils.java

/**
 * Returns an ImageReader given the input file
 * //from  w w w.j  a  v a 2s.c om
 * @param file
 * @return
 * @throws IOException
 */
public static ImageReader getImageReader(File file) throws IOException {
    String ext = FilenameUtils.getExtension(file.getName().toLowerCase());
    ImageReader reader = null;

    Iterator<ImageReader> imageReaders = ImageIO.getImageReadersBySuffix(ext);
    if (imageReaders.hasNext()) {
        reader = imageReaders.next();
        ImageInputStream stream = ImageIO.createImageInputStream(file);
        reader.setInput(stream);
    }
    return reader;
}

From source file:it.tidalwave.imageio.test.ImageReaderTestSupport.java

/*******************************************************************************************************************
 *
 *
 ******************************************************************************************************************/
protected void assertMIMETypes(final String extension, final String... mimeTypes) {
    final Iterator<ImageReader> i = ImageIO.getImageReadersBySuffix(extension);
    assertTrue(i.hasNext());//from  ww  w.  j  av a2  s.c  o  m
    final ImageReader ir = i.next();
    assertNotNull(ir);
    assertFalse(i.hasNext());
    final ImageReaderSpi provider = ir.getOriginatingProvider();
    assertEquals(mimeTypes, provider.getMIMETypes());
}

From source file:ImageIOTest.java

/**
 * Open a file and load the images.//  w  ww  .ja  va2 s.com
 */
public void openFile() {
    JFileChooser chooser = new JFileChooser();
    chooser.setCurrentDirectory(new File("."));
    String[] extensions = ImageIO.getReaderFileSuffixes();
    chooser.setFileFilter(new FileNameExtensionFilter("Image files", extensions));
    int r = chooser.showOpenDialog(this);
    if (r != JFileChooser.APPROVE_OPTION)
        return;
    File f = chooser.getSelectedFile();
    Box box = Box.createVerticalBox();
    try {
        String name = f.getName();
        String suffix = name.substring(name.lastIndexOf('.') + 1);
        Iterator<ImageReader> iter = ImageIO.getImageReadersBySuffix(suffix);
        ImageReader reader = iter.next();
        ImageInputStream imageIn = ImageIO.createImageInputStream(f);
        reader.setInput(imageIn);
        int count = reader.getNumImages(true);
        images = new BufferedImage[count];
        for (int i = 0; i < count; i++) {
            images[i] = reader.read(i);
            box.add(new JLabel(new ImageIcon(images[i])));
        }
    } catch (IOException e) {
        JOptionPane.showMessageDialog(this, e);
    }
    setContentPane(new JScrollPane(box));
    validate();
}

From source file:com.frostwire.ImageCache.java

private void saveToCache(URL url, BufferedImage image, long date) {
    try {// w  ww. j a  v a2  s.co m
        File file = getCacheFile(url);

        if (file.exists()) {
            file.delete();
        }

        String filename = file.getName();
        int dotIndex = filename.lastIndexOf('.');
        String ext = filename.substring(dotIndex + 1);

        String formatName = ImageIO.getImageReadersBySuffix(ext).next().getFormatName();

        if (!file.getParentFile().exists()) {
            file.mkdirs();
        }
        ImageIO.write(image, formatName, file);
        file.setLastModified(date);
    } catch (Throwable e) {
        LOG.error("Failed to save image to cache: " + url, e);
    }
}

From source file:com.jaeksoft.searchlib.util.ImageUtils.java

public static Dimension getDimensions(File imageFile) throws IOException {
    FileImageInputStream fiis = null;
    try {//from w  ww .  jav a 2  s .  co  m
        fiis = new FileImageInputStream(imageFile);
        ImageReader imageReader = ImageIO
                .getImageReadersBySuffix(FilenameUtils.getExtension(imageFile.getName())).next();
        imageReader.setInput(fiis);
        return new Dimension(imageReader.getWidth(0), imageReader.getHeight(0));
    } finally {
        IOUtils.close(fiis);
    }
}