List of usage examples for javax.imageio ImageIO getImageReaders
public static Iterator<ImageReader> getImageReaders(Object input)
From source file:de.cismet.cids.custom.objecteditors.wunda_blau.WebDavPicturePanel.java
/** * DOCUMENT ME!//from ww w. j a v a 2 s .c o m * * @param fileName DOCUMENT ME! * * @return DOCUMENT ME! * * @throws Exception DOCUMENT ME! */ private BufferedImage downloadImageFromWebDAV(final String fileName) throws Exception { final InputStream iStream = webdavHelper.getFileFromWebDAV(fileName, webdavDirectory, getConnectionContext()); try { final ImageInputStream iiStream = ImageIO.createImageInputStream(iStream); final Iterator<ImageReader> itReader = ImageIO.getImageReaders(iiStream); if (itReader.hasNext()) { final ImageReader reader = itReader.next(); final ProgressMonitor monitor = new ProgressMonitor(this, "Bild wird bertragen...", "", 0, 100); // monitor.setMillisToPopup(500); reader.addIIOReadProgressListener(new IIOReadProgressListener() { @Override public void sequenceStarted(final ImageReader source, final int minIndex) { } @Override public void sequenceComplete(final ImageReader source) { } @Override public void imageStarted(final ImageReader source, final int imageIndex) { monitor.setProgress(monitor.getMinimum()); } @Override public void imageProgress(final ImageReader source, final float percentageDone) { if (monitor.isCanceled()) { try { iiStream.close(); } catch (final IOException ex) { // NOP } } else { monitor.setProgress(Math.round(percentageDone)); } } @Override public void imageComplete(final ImageReader source) { monitor.setProgress(monitor.getMaximum()); } @Override public void thumbnailStarted(final ImageReader source, final int imageIndex, final int thumbnailIndex) { } @Override public void thumbnailProgress(final ImageReader source, final float percentageDone) { } @Override public void thumbnailComplete(final ImageReader source) { } @Override public void readAborted(final ImageReader source) { monitor.close(); } }); final ImageReadParam param = reader.getDefaultReadParam(); reader.setInput(iiStream, true, true); final BufferedImage result; try { result = reader.read(0, param); } finally { reader.dispose(); iiStream.close(); } return result; } else { return null; } } finally { IOUtils.closeQuietly(iStream); } }
From source file:org.n52.v3d.terrainserver.povraywts.WebTerrainServlet.java
private BufferedImage prepareImage(ImageInputStream pImageIn, int pHeight, int pWidth, VgElevationGrid pTerrain, double pPitch, double pYaw, double pDistance, double pExaggeration, boolean pDrawNorthArrow, boolean pHints) { BufferedImage lImage = null;/* w w w . j a v a 2 s . co m*/ Iterator iter = ImageIO.getImageReaders(pImageIn); // liefert PNG-ImageReader ImageReader reader = (ImageReader) iter.next(); reader.setInput(pImageIn, true); // seek forward only? boolean ready = false; int lMaxIntervalChecks = 40; long lCheckInterval = mRendererTimeout / lMaxIntervalChecks; int ct = 0; while ((!ready) && (ct < lMaxIntervalChecks)) { try { lImage = reader.read(0); ready = true; } catch (IOException e) { ct++; try { Thread.sleep(lCheckInterval); } catch (Exception e2) { } ; } } if (!ready) throw new T3dException("An I/O exception occured. The renderer did not generate an image file.", 403); // Copyright-Text und Nordpfeil ergnzen: this.addAnnotations(lImage, pHeight, pWidth, pPitch, pYaw, pDrawNorthArrow); // Ggf. weitere Information (Hints) ergnzen: if (pHints) this.addHints(lImage, pTerrain, pDistance, pYaw, pExaggeration); return lImage; }
From source file:org.xwiki.contrib.ldap.XWikiLDAPUtils.java
/** * Guess image type of InputStream.//from www . j a va 2 s .co m * * @param imageInputStream InputStream containing image. * @return type of image as String. */ protected String guessImageType(InputStream imageInputStream) { ImageInputStream imageStream; try { imageStream = ImageIO.createImageInputStream(imageInputStream); } catch (IOException ex) { LOGGER.error(ex.getMessage()); return null; } Iterator<ImageReader> it = ImageIO.getImageReaders(imageStream); if (!it.hasNext()) { LOGGER.warn("No image readers found for provided stream."); return null; } ImageReader imageReader = it.next(); imageReader.setInput(imageStream); try { return imageReader.getFormatName(); } catch (IOException ex) { LOGGER.error(ex.getMessage()); return null; } finally { imageReader.dispose(); } }