Example usage for javax.imageio ImageIO getImageReaders

List of usage examples for javax.imageio ImageIO getImageReaders

Introduction

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

Prototype

public static Iterator<ImageReader> getImageReaders(Object input) 

Source Link

Document

Returns an Iterator containing all currently registered ImageReader s that claim to be able to decode the supplied Object , typically an ImageInputStream .

Usage

From source file:Main.java

public static void main(String[] argv) throws Exception {
    ImageInputStream imageStream = ImageIO.createImageInputStream(new URL("").openStream());
    Iterator<ImageReader> readers = ImageIO.getImageReaders(imageStream);
    ImageReader reader = null;// w  w  w.  jav a 2  s  .  co  m
    if (!readers.hasNext()) {
        imageStream.close();
        return;
    } else {
        reader = readers.next();
    }
    String formatName = reader.getFormatName();
    if (!formatName.equalsIgnoreCase("jpeg") && !formatName.equalsIgnoreCase("png")
            && !formatName.equalsIgnoreCase("gif")) {
        imageStream.close();
        return;
    }
    reader.setInput(imageStream, true, true);
    BufferedImage theImage = reader.read(0);
    reader.dispose();
    imageStream.close();
}

From source file:Main.java

public static void main(String[] args) throws IOException {
    URL[] urls = { new URL("http://yourserver/small.png") };
    for (URL url : urls) {
        ImageInputStream iis = ImageIO.createImageInputStream(url.openStream());
        Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);

        System.out.println("url= " + url.getPath());
        while (readers.hasNext()) {
            ImageReader read = readers.next();
            System.out.println("format name = " + read.getFormatName());
        }/*from w  w  w . j a va 2s. c o  m*/
        System.out.println();
    }
}

From source file:it.tidalwave.imageio.example.stats.FocalLengthStats.java

public static void main(final String[] args) {
    try {/* w  w w.  j  a va  2  s  .com*/
        final PrintWriter out = new PrintWriter(new File(args[1]));
        new DirectoryWalker() {
            @Override
            protected void handleFile(final File file, final int depth, final Collection results)
                    throws IOException {
                if (file.getName().toUpperCase().endsWith(".NEF")) {
                    System.out.printf("Processing %s...\n", file.getCanonicalPath());
                    final ImageReader reader = (ImageReader) ImageIO.getImageReaders(file).next();
                    reader.setInput(ImageIO.createImageInputStream(file));
                    final IIOMetadata metadata = reader.getImageMetadata(0);
                    final NEFMetadata nefMetadata = (NEFMetadata) metadata;
                    final IFD exifIFD = nefMetadata.getExifIFD();
                    final TagRational focalLength = exifIFD.getFocalLength();
                    out.println(focalLength.doubleValue());
                }
            }

            public void start() throws IOException {
                super.walk(new File(args[0]), new ArrayList<Object>());
            }
        }.start();

        out.flush();
        out.close();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:Main.java

private static String getFormatName(Object o) {
    try {/*ww w .j  ava  2 s . c om*/
        ImageInputStream iis = ImageIO.createImageInputStream(o);
        Iterator iter = ImageIO.getImageReaders(iis);
        if (!iter.hasNext()) {
            return null;
        }
        ImageReader reader = (ImageReader) iter.next();
        iis.close();

        return reader.getFormatName();
    } catch (IOException e) {
    }
    return null;
}

From source file:Main.java

public static BufferedImage readFragment(InputStream stream, Rectangle rect) throws IOException {
    ImageInputStream imageStream = ImageIO.createImageInputStream(stream);
    ImageReader reader = ImageIO.getImageReaders(imageStream).next();
    ImageReadParam param = reader.getDefaultReadParam();

    param.setSourceRegion(rect);/*from   w  w w  .ja  v  a 2  s. c  o  m*/
    reader.setInput(imageStream, true, true);
    BufferedImage image = reader.read(0, param);

    reader.dispose();
    imageStream.close();

    return image;
}

From source file:de.mpg.imeji.presentation.metadata.extractors.BasicExtractor.java

public static List<String> extractTechMd(Item item) throws Exception {
    List<String> techMd = new ArrayList<String>();
    URI uri = item.getFullImageUrl();
    String imageUrl = uri.toURL().toString();
    GetMethod method = new GetMethod(imageUrl);
    method.setFollowRedirects(false);/* ww w  .  j a  v a2 s  .c  o m*/
    String userHandle = null;
    userHandle = LoginHelper.login(PropertyReader.getProperty("imeji.escidoc.user"),
            PropertyReader.getProperty("imeji.escidoc.password"));
    method.addRequestHeader("Cookie", "escidocCookie=" + userHandle);
    HttpClient client = new HttpClient();
    client.executeMethod(method);
    InputStream input = method.getResponseBodyAsStream();
    ImageInputStream iis = ImageIO.createImageInputStream(input);
    Iterator<ImageReader> readers = ImageIO.getImageReaders(iis);
    if (readers.hasNext()) {
        // pick the first available ImageReader
        ImageReader reader = readers.next();
        // attach source to the reader
        reader.setInput(iis, true);
        // read metadata of first image
        IIOMetadata metadata = reader.getImageMetadata(0);
        String[] names = metadata.getMetadataFormatNames();
        int length = names.length;
        for (int i = 0; i < length; i++) {
            displayMetadata(techMd, metadata.getAsTree(names[i]));
        }
    }
    return techMd;
}

From source file:ImageUtilities.java

/**
 * Returns the format of an image (as string).
 * /*  w ww  .  j a  v a  2s. c o  m*/
 * @param stream
 *            image source stream
 * 
 * @return format stream (e.g. "JPEG")
 * 
 * @throws IOException
 *             if an I/O error occured
 */
public static String getFormat(InputStream stream) throws IOException {
    ImageInputStream iis = ImageIO.createImageInputStream(stream);
    Iterator iter = ImageIO.getImageReaders(iis);
    if (!iter.hasNext()) {
        throw new IOException("Unsupported image format!");
    }
    ImageReader reader = (ImageReader) iter.next();
    iis.close();
    return reader.getFormatName();
}

From source file:ar.com.zauber.common.image.impl.AbstractImage.java

/**
 * Validate if is holds an image. This method closes is.
 * //ww w .j  a va 2 s .  co m
 * @param is image to validate
 * @throws IOException on i/o error.
 * @throws IllegalArgumentException if is doesn't represent an image
 */
public static void validateImage(final InputStream is) throws IOException, IllegalArgumentException {
    try {
        final ImageInputStream iis = ImageIO.createImageInputStream(is);
        final Iterator<ImageReader> i = ImageIO.getImageReaders(iis);
        iis.close();
        if (!i.hasNext()) {
            throw new IllegalArgumentException("don't know how to read " + "that type of images");
        }
    } finally {
        is.close();
    }
}

From source file:nova.core.wrapper.mc.forge.v18.wrapper.render.BWClientRenderManager.java

@SideOnly(Side.CLIENT)
@Override//from   w  ww  . j  a  va 2s.c o m
public Vector2D getDimension(Texture texture) {
    ResourceLocation loc = toResourceLocation(texture);

    try {
        ImageInputStream in = ImageIO.createImageInputStream(
                Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream());
        Iterator<ImageReader> readers = ImageIO.getImageReaders(in);
        if (readers.hasNext()) {
            ImageReader reader = readers.next();
            try {
                reader.setInput(in);
                return new Vector2D(reader.getWidth(0), reader.getHeight(0));
            } finally {
                reader.dispose();
            }
        }
    } catch (Exception e) {
        throw new RenderException("Couldn't load texture " + texture.getPath(), e);
    }
    return new Vector2D(16, 16);
}

From source file:nova.core.wrapper.mc.forge.v17.wrapper.render.BWClientRenderManager.java

@SideOnly(Side.CLIENT)
@Override//from   w  w w .  ja v  a2s. c  o m
public Vector2D getDimension(Texture texture) {
    ResourceLocation loc = toResourceLocation(texture);

    try {
        ImageInputStream in = ImageIO.createImageInputStream(
                Minecraft.getMinecraft().getResourceManager().getResource(loc).getInputStream());
        Iterator<ImageReader> readers = ImageIO.getImageReaders(in);
        if (readers.hasNext()) {
            ImageReader reader = readers.next();
            try {
                reader.setInput(in);
                return new Vector2D(reader.getWidth(0), reader.getHeight(0));
            } finally {
                reader.dispose();
            }
        }
    } catch (Exception e) {
        throw new RenderException("Couldn't load texture " + texture.getPath(), e);
    }
    return super.getDimension(texture);
}