/** * Reads an image from a GeoTIFF file. For more information, see <a * href="http://download.java.net/media/jai-imageio/javadoc/1.1/com/sun/media/jai/operator/ImageReadDescriptor.html#RenderedMode">ImageReadDescriptor</a> */ private static synchronized RenderedImage readImage(File inFile) throws IOException { final ParameterBlock readParams = new ParameterBlock(); ImageInputStreamSpi lSpi = ImageIOExt.getImageInputStreamSPI(inFile); PlanarImage lImage = null; ImageInputStream lImgIn = lSpi.createInputStreamInstance(inFile, false, null); readParams.add(lImgIn); readParams.add(0); readParams.add(Boolean.FALSE); readParams.add(Boolean.FALSE); readParams.add(Boolean.FALSE); readParams.add(null); readParams.add(null); readParams.add(null); readParams.add(READER_SPI.createReaderInstance()); lImage = JAI.create("ImageRead", readParams, null); final String lFileName = inFile.getName(); final int lExtIndex = lFileName.lastIndexOf('.'); final String lFileNameNoExt = lExtIndex < 0 ? lFileName : lFileName.substring(0, lExtIndex); lImage.setProperty("name", lFileNameNoExt); return lImage; }
public ImageWorker translate(float xTrans, float yTrans, Interpolation interp) { ParameterBlock pb = new ParameterBlock(); pb.addSource(image); pb.add(xTrans); pb.add(yTrans); pb.add(interp); // do not use getRenderingHints() with translate, as it cannot deal with layout hints image = JAI.create("Translate", pb, commonHints); return this; }
public ImageWorker border( int leftPad, int rightPad, int topPad, int bottomPad, BorderExtender ext) { ParameterBlock pb = new ParameterBlock(); pb.addSource(image); pb.add(leftPad); pb.add(rightPad); pb.add(topPad); pb.add(bottomPad); pb.add(ext); pb.add(nodata); if (isNoDataNeeded()) { if (background != null && background.length > 0) { pb.add(background); } } image = JAI.create("Border", pb, getRenderingHints()); return this; }
public static void main(String[] args) { RenderedImage image = JAI.create("fileload", "estacaosp.jpg"); float scale=(float) 0.5; ParameterBlock pb = new ParameterBlock(); pb.addSource(image); pb.add(scale); pb.add(scale); pb.add(1.0F); pb.add(1.0F); pb.add(new InterpolationNearest() );// ;InterpolationBilinear()); image = JAI.create("scale", pb); // Create an instance of DisplayJAI. DisplayJAI srcdj = new DisplayJAI(image); JScrollPane srcScrollPaneImage = new JScrollPane(srcdj); // Use a label to display the image JFrame frame = new JFrame(); frame.getContentPane().add(srcScrollPaneImage, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); }
pb.addSource(rasterROI.getAsImage()); pb.add(javax.media.jai.operator.MosaicDescriptor.MOSAIC_TYPE_OVERLAY); pb.add(null); // alphas pb.add(null); // ROI (null to avoid double bit -> byte expansion of the ROI data pb.add(ROI_THRESHOLDS); pb.add(ROI_BACKGROUND); pb.add( handleMosaicThresholds( ROI_THRESHOLDS, rasterROIs.size() + (vectorReference != null ? 1 : 0)));
SeekableStream seekableStream = new FileSeekableStream(new File("front.jpg")); ParameterBlock pb = new ParameterBlock(); pb.add(seekableStream); BufferedImage image = JAI.create("jpeg", pb).getAsBufferedImage();
if (useJAI) { final ParameterBlock pbjImageRead = new ParameterBlock(); pbjImageRead.add(paramInput); pbjImageRead.add(imageIndex); pbjImageRead.add(Boolean.FALSE); pbjImageRead.add(Boolean.FALSE); pbjImageRead.add(Boolean.FALSE); pbjImageRead.add(null); pbjImageRead.add(null); pbjImageRead.add(imageReadParam); reader = readerSpi.createReaderInstance(); pbjImageRead.add(reader);
RenderedOp rop = JAI.create("fileload", file.getAbsolutePath()); ParameterBlock pb = new ParameterBlock(); pb.addSource(rop); pb.add(0.5f); pb.add(0.5f); rop = JAI.create("scale", pb); // For better looking results, but slower: // rop = JAI.create("SubsampleAverage", pb); BufferedImage bufImg = rop.getAsBufferedImage();
pbjImageRead.add(rasterFile); pbjImageRead.add(imageIndex); pbjImageRead.add(false); pbjImageRead.add(false); pbjImageRead.add(false); pbjImageRead.add(null); pbjImageRead.add(null); pbjImageRead.add(readP); pbjImageRead.add(spi.createReaderInstance()); final RenderedOp raster; if (tileDimension != null) {
pbjImageRead.add(rasterFile); pbjImageRead.add(imageIndex); pbjImageRead.add(false); pbjImageRead.add(false); pbjImageRead.add(false); pbjImageRead.add(null); pbjImageRead.add(null); pbjImageRead.add(readP); pbjImageRead.add(spi.createReaderInstance()); final RenderedOp raster; if (tileDimension != null) {
if (!gzipped) { if (inStreamSPI != null) pbjImageRead.add( inStreamSPI.createInputStreamInstance( source, ImageIO.getUseCache(), ImageIO.getCacheDirectory())); else pbjImageRead.add(ImageIO.createImageInputStream(source)); } else pbjImageRead.add( ImageIO.createImageInputStream( new GZIPInputStream(new FileInputStream((File) source)))); } else if (source instanceof ImageInputStream || source instanceof InputStream) pbjImageRead.add(inStream); else if (source instanceof URL) { if (gzipped) new GZIPInputStream(((URL) source).openConnection().getInputStream())); else pbjImageRead.add( ImageIO.createImageInputStream( ((URL) source).openConnection().getInputStream())); pbjImageRead.add(imageChoice); pbjImageRead.add(Boolean.FALSE); pbjImageRead.add(Boolean.FALSE); pbjImageRead.add(Boolean.FALSE); pbjImageRead.add(null); pbjImageRead.add(null); pbjImageRead.add(readP); pbjImageRead.add(readerSPI.createReaderInstance());
pbjRead.add( inStreamSPI != null ? inStreamSPI.createInputStreamInstance( pbjRead.add(imageChoice); pbjRead.add(Boolean.FALSE); pbjRead.add(Boolean.FALSE); pbjRead.add(Boolean.FALSE); pbjRead.add(null); pbjRead.add(null); pbjRead.add(readP); pbjRead.add(readerSPI.createReaderInstance()); final RenderedOp coverageRaster = JAI.create("ImageRead", pbjRead, newHints);
pbjRead.add( maskOvrProvider .getExternalOverviewInputStreamSpi() ImageIO.getCacheDirectory())); } else { pbjRead.add( maskOvrProvider .getInputStreamSpi() pbjRead.add(maskOvrProvider.getOverviewIndex(imageChoice)); } else { if (extOvrImgChoice >= 0 && imageChoice >= extOvrImgChoice) { pbjRead.add( ovrInStreamSPI.createInputStreamInstance( ovrSource, ImageIO.getUseCache(), ImageIO.getCacheDirectory())); pbjRead.add(imageChoice - extOvrImgChoice); } else { if (inStream instanceof ImageInputStream && !closeMe) { pbjRead.add(inStream); } else { pbjRead.add( inStreamSPI != null ? inStreamSPI.createInputStreamInstance( pbjRead.add(index); pbjRead.add(Boolean.FALSE); pbjRead.add(Boolean.FALSE);