Package javax.imageio

Examples of javax.imageio.ImageReadParam


         * @throws IOException if the image couldn't be decoded due
         *  to a lack of support or some IO problem
         */
        private BufferedImage decode() throws IOException {

            ImageReadParam readParam = null;
            if (getDecode() != null) {
                // we have to allocate our own buffered image so that we can
                // install our colour model which will do the desired decode
                readParam = new ImageReadParam();
                SampleModel sm =
                        cm.createCompatibleSampleModel (getWidth (), getHeight ());
                final WritableRaster raster =
                        Raster.createWritableRaster(sm, new Point(0, 0));
                readParam.setDestination(new BufferedImage(cm, raster, true, null));
            }

            final Iterator<ImageReader> jpegReaderIt =
                        ImageIO.getImageReadersByFormatName("jpeg");
            IIOException lastIioEx = null;
View Full Code Here


         * @throws IOException if the image couldn't be decoded due
         *  to a lack of support or some IO problem
         */
        private BufferedImage decode() throws IOException {

            ImageReadParam readParam = null;
            if (getDecode() != null) {
                // we have to allocate our own buffered image so that we can
                // install our colour model which will do the desired decode
                readParam = new ImageReadParam();
                SampleModel sm =
                        cm.createCompatibleSampleModel (getWidth (), getHeight ());
                final WritableRaster raster =
                        Raster.createWritableRaster(sm, new Point(0, 0));
                readParam.setDestination(new BufferedImage(cm, raster, true, null));
            }

            Iterator<ImageReader> jpegReaderIt = ImageIO.getImageReadersByFormatName("jpeg");
            IIOException lastIioEx = null;
            while (jpegReaderIt.hasNext()) {
View Full Code Here

    public void writeToOutputTiled(Dimension isize, Dimension tilesSize, ImageWriter w, ImageWriteParam iwp, ImageReader r, int _type, Object baseTransform) throws IOException, InterruptedException {
        /**
         * it is a tiled picture
         */
        Dimension numTiles = getNumTilesXY(r);
        ImageReadParam irp = _getIRP(r, _type);
        /*
         * NEVER ! w.prepareReplacePixels(0, new
         * Rectangle(dim));
         */
        for (int y = 0; y < numTiles.height; y++) {
            for (int x = 0; x < numTiles.width; x++) {
                Rectangle sroi = new Rectangle(x * tilesSize.width, y * tilesSize.height, tilesSize.width, tilesSize.height).intersection(new Rectangle(isize));
                if (sroi.isEmpty()) {
                    continue;
                }
                irp.setSourceRegion(sroi);
                BufferedImage b = r.read(0, irp);
                if (b.getType() != _type) {
                    b = _convertToBuffered(b, _type, obs, true);
                }
                trackImage(trackerPty, b);
View Full Code Here

     * bufferedtype at reading, but it is not guarranteed that the resulting
     * BufferedImage has the specified type
     * @see ImageReader#getImageTypes(int)
     */
    protected static ImageReadParam _getIRP(ImageReader r, int bufferedType) {
        ImageReadParam irp = r.getDefaultReadParam();
        ImageTypeSpecifier itsDef = _getITS(bufferedType);
        if (r.getInput() != null) {
            try {
                irp.setDestinationType(r.getRawImageType(0));
                for (Iterator<ImageTypeSpecifier> it = r.getImageTypes(0); it.hasNext();) {
                    ImageTypeSpecifier its = it.next();
                    if (its.equals(itsDef)) {
                        irp.setDestinationType(its);
                        break;
                    }
                }
            } catch (Throwable ex) {
                if (DebugMap._getInstance().isDebuggerEnabled(Sprite.class)) {
                    ex.printStackTrace();
                }
            }
        }
        if (irp instanceof TIFFImageReadParam) {
            if (_useTIFF_EXIF) {
                ((TIFFImageReadParam) irp).addAllowedTagSet(EXIFTIFFTagSet.getInstance());
            }
            if (DebugMap._getInstance().isDebuggerEnabled(Sprite.class) && irp.getDestinationType() != null) {
                try {
                    System.out.println("imagereader will use " + ImageCollection.BUFFERED_TYPE.valueOf(irp.getDestinationType().getBufferedImageType()) + " for " + r.getFormatName());
                } catch (IOException ex) {
                    ex.printStackTrace();
                }
            }
        }
View Full Code Here

    protected List<BufferedImage> getThumbnails(ImageReader r, int minSize, int bufferedType) throws IOException, InterruptedException {
        List<BufferedImage> thumbnails = Collections.synchronizedList(new ArrayList<BufferedImage>());
        /*
         * return thumbnails;
         */
        ImageReadParam irp = _getIRP(r, bufferedType);
        Dimension dim = new Dimension(r.getWidth(0), r.getHeight(0));
        Dimension thumbs = _WRITE_TILES_DIMENSION;
        while ((thumbs.width >= dim.width || thumbs.height >= dim.height) && thumbs.width > minSize && thumbs.height > minSize) {
            thumbs = new Dimension((int) Math.max(minSize, thumbs.width / 4.), (int) Math.max(minSize, thumbs.height / 4.));
        }
        thumbs.height = Math.max(1, Math.round(thumbs.width / r.getAspectRatio(0)));
        if (thumbs.equals(dim)) {
            return thumbnails;
        }
        BufferedImage im = null;
        if (r.hasThumbnails(0)) {
            for (int i = 0; i < r.getNumThumbnails(0); i++) {
                thumbnails.add(im = r.readThumbnail(0, i));
                mt.addImage(im, 0);
                mt.waitForID(0);
                mt.removeImage(im, 0);
            }
        } else if (r.getNumImages(true) > 1 && r instanceof TIFFImageReader) {
            thumbnails.add(im = r.read(1, irp));
            mt.addImage(im, 0);
            mt.waitForID(0);
            mt.removeImage(im, 0);
        } else {
            if (irp.canSetSourceRenderSize()) {
                irp.setSourceRenderSize(thumbs);
            } else {
                int x = Math.round((dim.width - thumbs.width) / 2f);
                int y = Math.round((dim.height - thumbs.height) / 2f);
                irp.setSourceRegion(new Rectangle(x, y, thumbs.width, thumbs.height));
            }
            thumbnails.add(im = r.read(0, irp));
            mt.addImage(im, 0);
            mt.waitForID(0);
            mt.removeImage(im, 0);
View Full Code Here

                _cacheManager.setListCapacity(Integer.parseInt(rb.getString("GFX_BASE_CODE")));
                try {
                    Sprite spTiles = new Sprite(rb.getString("GFX_BASE_CODE_TILES"), true, "image/x-png", _rbGetDim("GFX_BASE_CODE_TILES").ROI.getSize(), true);
                    spTiles.setTileModeEnabled(true);
                    ImageReader r = spTiles.getTileReader(true);
                    ImageReadParam irp = spTiles.getTileReaderParams(r);
                    int n = 0;
                    try {
                        for (String tile : baseCodeStr.split(" ")) {
                            irp.setSourceRegion(new Rectangle((int) ((float) r.getWidth(0) / (float) Integer.parseInt(rb.getString("GFX_BASE_CODE")) * (float) n), 0, (int) ((float) r.getWidth(0) / (float) Integer.parseInt(rb.getString("GFX_BASE_CODE"))), r.getHeight(0)));
                            BufferedImage tileImg = r.read(0, irp);
                            Sprite sp = new Sprite(tileImg, "image/x-png", baseCodeDim = new Dimension(tileImg.getWidth(), tileImg.getHeight()));
                            sp.setStoreMode(Sprite.MODE_TEXTURE);
                            _cacheSyncManager.put(tile, sp);
                            _cacheHashRegistry.put(tile, sp.hashCode());
View Full Code Here

      {
         return;
      }

      ImageReader reader = (ImageReader) iter.next();
      ImageReadParam param = reader.getDefaultReadParam();
      reader.setInput(stream, true, true);
      String type = reader.getFormatName();
      setContentType(Type.getTypeByFormatName(type));
      bufferedImage = reader.read(0, param);
      stream.close();
View Full Code Here

            if (!iter.hasNext()) {
                log.error("No ImageReader found.");
                return false;
            }
            ImageReader reader = (ImageReader)iter.next();
            ImageReadParam param = reader.getDefaultReadParam();
            reader.setInput(imgStream, true, false);
            BufferedImage imageData = reader.read(0, param);
           
            //Read image resolution
            IIOMetadata iiometa = reader.getImageMetadata(0);
View Full Code Here

                             If the image is very large, use subsampling anyway
                             to decrease memory consumption & speed up interactive
                             operations. Anyway, most often user just views image
                             at screen resolution
                             */
                            ImageReadParam param = reader.getDefaultReadParam();
                           

                            if ( minWidth * 2 < width && minHeight * 2 < height ) {
                                param.setSourceSubsampling( 2, 2, 0, 0 );
                            }
                                ri = reader.read( 0, param );
                           
                        }
                        if ( ri != null ) {                           
View Full Code Here

                    + reader.getThumbnailHeight( 0, 0 ) );
            image = reader.readThumbnail( 0, 0 );
            log.debug( "Read thumbnail" );
        } else {
            log.debug( "No thumbnail in original" );
            ImageReadParam param = reader.getDefaultReadParam();
           
            // Find the maximum subsampling rate we can still use for creating
            // a quality thumbnail. Some image format readers seem to have
            // problems with subsampling values (e.g. PNG sometimes crashed
            // the whole virtual machine, to for now let's do this only
            // with JPG.
            int subsampling = 1;
            if ( reader.getFormatName().equals( "JPEG" ) ) {
                int minDim = Math.min( reader.getWidth( 0 ),reader.getHeight( 0 ) );
                while ( 2 * minInstanceSide * subsampling < minDim ) {
                    subsampling *= 2;
                }
            }
            param.setSourceSubsampling( subsampling, subsampling, 0, 0 );
            image = reader.read( 0, param );
        }
        return image;
    }  
View Full Code Here

TOP

Related Classes of javax.imageio.ImageReadParam

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.