ImageReader getThumbnailReader() throws IOException { if (thumbnailReader == null) { thumbnailReader = delegate.getOriginatingProvider().createReaderInstance(); } return thumbnailReader; }
/** @see org.geotools.data.coverage.grid.AbstractGridFormat#accepts(java.lang.Object input) */ @Override public boolean accepts(Object input, Hints hints) { try { // Directories aren't accepted if (input != null && input instanceof File) { final File directory = (File) input; if (!directory.exists() || directory.isDirectory()) return false; } final ImageInputStream stream = ImageIO.createImageInputStream(input); if (spi == null) { ImageReader reader = Utils.getReader(stream); if (reader != null) spi = reader.getOriginatingProvider(); else return false; } return spi.canDecodeInput(stream); } catch (IOException e) { if (LOGGER.isLoggable(Level.FINE)) { LOGGER.log(Level.FINE, e.getLocalizedMessage(), e); } return false; } } }
public static void main(final String[] pArgs) throws IOException { ImageReader reader = new PICTImageReader(new PICTImageReaderSpi()); for (String arg : pArgs) { File file = new File(arg); try { ImageInputStream input = ImageIO.createImageInputStream(file); String title = file.getName(); System.out.println("canRead: " + reader.getOriginatingProvider().canDecodeInput(input)); reader.setInput(input); // BufferedImage image = reader.getImageTypes(0).next().createBufferedImage(reader.getWidth(0), reader.getHeight(0)); // ImageReadParam param = reader.getDefaultReadParam(); // param.setDestination(image); long start = System.currentTimeMillis(); BufferedImage image = reader.read(0); System.out.println("time: " + (System.currentTimeMillis() - start)); showIt(image, title); System.out.println("image = " + image); } catch (IOException e) { System.err.println("Could not read " + file.getAbsolutePath() + ": " + e); } } } }
if (reader != null) cachedSPI = reader.getOriginatingProvider(); } else reader = cachedSPI.createReaderInstance(); if (reader == null)
boolean canRead = reader.getOriginatingProvider().canDecodeInput(input);
|| !lastReader.getOriginatingProvider().canDecodeInput(getImageInputStream(data))) { boolean found = false; for (ImageReader ir : readersCache) {
if (reader != null) cachedSPI = reader.getOriginatingProvider(); } else reader = cachedSPI.createReaderInstance(); if (reader == null)
if (reader != null) cachedReaderSPI = reader.getOriginatingProvider(); } else reader = cachedReaderSPI.createReaderInstance(); if (reader == null)
public static ImageReaderSpi getReaderSpiFromStream( ImageReaderSpi suggestedSPI, ImageInputStream inStream) throws IOException { ImageReaderSpi readerSPI = null; // get a reader and try to cache the suggested SPI first inStream.mark(); if (suggestedSPI != null && suggestedSPI.canDecodeInput(inStream)) { readerSPI = suggestedSPI; inStream.reset(); } else { inStream.mark(); ImageReader reader = ImageIOExt.getImageioReader(inStream); if (reader != null) readerSPI = reader.getOriginatingProvider(); inStream.reset(); } return readerSPI; }
/** * Returns an {@link ImageReaderSpi} instance for the input {@link ImageInputStream} and the * optional suggested spi. */ public static ImageReaderSpi getReaderSpiFromStream( ImageReaderSpi suggestedSPI, ImageInputStream inStream) throws IOException { ImageReaderSpi readerSPI = null; // get a reader and try to use the suggested SPI first inStream.mark(); if (suggestedSPI != null && suggestedSPI.canDecodeInput(inStream)) { readerSPI = suggestedSPI; inStream.reset(); } else { inStream.mark(); ImageReader reader = ImageIOExt.getImageioReader(inStream); if (reader != null) readerSPI = reader.getOriginatingProvider(); inStream.reset(); } return readerSPI; }
if (cachedSPI == null) { reader = Utils.getReader(stream); if (reader != null) cachedSPI = reader.getOriginatingProvider();
if (reader != null) cachedSPI = reader.getOriginatingProvider(); } else reader = cachedSPI.createReaderInstance(); if (reader == null) {
if (!it.hasNext()) throw new DataSourceException("No reader avalaible for this source"); final ImageReader reader = it.next(); readerSPI = reader.getOriginatingProvider(); reader.setInput(inStream);
if (reader != null) cachedReaderSPI = reader.getOriginatingProvider(); } else reader = cachedReaderSPI.createReaderInstance(); if (reader == null) {
ImageReader getThumbnailReader() throws IOException { if (thumbnailReader == null) { thumbnailReader = delegate.getOriginatingProvider().createReaderInstance(); } return thumbnailReader; }
private final void setProperties (final @Nonnull EditableImage image, final @Nonnull ImageReader imageReader) throws IOException { image.setAttribute(EditableImage.PROP_FORMAT, imageReader.getFormatName()); image.setAttribute(EditableImage.PROP_MIME_TYPE, imageReader.getOriginatingProvider().getMIMETypes()[0]); } }
public static void main(String[] pArgs) throws IOException { ImageReader reader = new PICTImageReader(new PICTImageReaderSpi()); ImageInputStream input; String title; if (pArgs.length >= 1) { File file = new File(pArgs[0]); input = ImageIO.createImageInputStream(file); title = file.getName(); } else { input = ImageIO.createImageInputStream(new ByteArrayInputStream(DATA_V1_OVERPAINTED_ARC)); title = "PICT test data"; } System.out.println("canRead: " + reader.getOriginatingProvider().canDecodeInput(input)); reader.setInput(input); long start = System.currentTimeMillis(); BufferedImage image = reader.read(0); System.out.println("time: " + (System.currentTimeMillis() - start)); showIt(image, title); System.out.println("image = " + image); }
public static void main(final String[] pArgs) throws IOException { ImageReader reader = new PICTImageReader(new PICTImageReaderSpi()); for (String arg : pArgs) { File file = new File(arg); try { ImageInputStream input = ImageIO.createImageInputStream(file); String title = file.getName(); System.out.println("canRead: " + reader.getOriginatingProvider().canDecodeInput(input)); reader.setInput(input); // BufferedImage image = reader.getImageTypes(0).next().createBufferedImage(reader.getWidth(0), reader.getHeight(0)); // ImageReadParam param = reader.getDefaultReadParam(); // param.setDestination(image); long start = System.currentTimeMillis(); BufferedImage image = reader.read(0); System.out.println("time: " + (System.currentTimeMillis() - start)); showIt(image, title); System.out.println("image = " + image); } catch (IOException e) { System.err.println("Could not read " + file.getAbsolutePath() + ": " + e); } } } }
ImageInputStream stream = ImageIO.createImageInputStream(new ByteArrayInputStream(imgData); // assuming imgData is byte[] as in your question Iterator<ImageReader> readers = ImageIO.getImageReaders(stream); if (!readers.hasNext()) { // We don't know about this format, give up } ImageReader reader = readers.next(); reader.setInput(stream); // Now query for the properties you like // Dimensions: int width = reader.getWidth(0); int height = reader.getHeight(0); // File format (you can typically use the first element in the array): String[] formats = reader.getOriginatingProvider().getFormatNames(); // Color model (note that this will return null for most JPEGs, as Java has no YCbCr color model, but at least this should get you going): ImageTypeSpecifier type = reader.getRawImageType(0); ColorModel cm = type.getColorModel(); // ...etc...
/** * Invokes {@link #prepareImageReader(boolean)} with a value of {@code true}, ensures that * the input is set, then validate the provider. * * @throws IOException if an error occurred while preparing the {@linkplain #reader}. */ private void prepareImageReader() throws IOException { prepareImageReader(true); assertInputSet(reader); validators.validate(reader.getOriginatingProvider()); }