public void drawRenderedImage(RenderedImage renderedimage, AffineTransform affinetransform) { BufferedImage bufferedimage = new BufferedImage(renderedimage.getColorModel(), renderedimage.getData().createCompatibleWritableRaster(), false, null); bufferedimage.setData(renderedimage.getData()); drawImage(bufferedimage, affinetransform, null); }
ps.println("Contents:"); RenderedImage ri = coverage.getRenderedImage(); Raster raster = ri.getData(); for (int band = 0; band < raster.getNumBands(); band++) { ps.println("Band " + band + ":");
public Raster getData(Rectangle rect) { return adaptee.getData(rect); }
public Raster getData() { return adaptee.getData(); }
/** * Gets pixel data of an <code>RenderedImage</code> object. * * @param image an <code>RenderedImage</code> object * @return a byte buffer of pixel data */ public static ByteBuffer getImageByteBuffer(RenderedImage image) { ColorModel cm = image.getColorModel(); WritableRaster wr = image.getData().createCompatibleWritableRaster(image.getWidth(), image.getHeight()); image.copyData(wr); BufferedImage bi = new BufferedImage(cm, wr, cm.isAlphaPremultiplied(), null); return convertImageData(bi); }
private static Raster getRaster(final RenderedImage image) { return image instanceof BufferedImage ? ((BufferedImage) image).getRaster() : image.getNumXTiles() == 1 && image.getNumYTiles() == 1 ? image.getTile(0, 0) : image.getData(); }
/** * A wrapper for {@link #setImage(int, int, ByteBuffer, Rectangle, int)}. * * @param image a rendered image * @param rect region of interest * @throws java.io.IOException */ protected void setImage(RenderedImage image, Rectangle rect) throws IOException { ByteBuffer buff = ImageIOHelper.getImageByteBuffer(image); int bpp; DataBuffer dbuff = image.getData(new Rectangle(1,1)).getDataBuffer(); if (dbuff instanceof DataBufferByte) { bpp = image.getColorModel().getPixelSize(); } else { bpp = 8; // BufferedImage.TYPE_BYTE_GRAY image } setImage(image.getWidth(), image.getHeight(), buff, rect, bpp); }
/** * A wrapper for {@link #setImage(int, int, ByteBuffer, Rectangle, int)}. * * @param image a rendered image * @param rect region of interest * @throws java.io.IOException */ protected void setImage(RenderedImage image, Rectangle rect) throws IOException { ByteBuffer buff = ImageIOHelper.getImageByteBuffer(image); int bpp; DataBuffer dbuff = image.getData(new Rectangle(1,1)).getDataBuffer(); if (dbuff instanceof DataBufferByte) { bpp = image.getColorModel().getPixelSize(); } else { bpp = 8; // BufferedImage.TYPE_BYTE_GRAY image } setImage(image.getWidth(), image.getHeight(), buff, rect, bpp); }
/** * Makes sure the image starts at 0,0, all images coming from files do but the ones coming from * a JAI chain might not * * @param image * @return */ static final RenderedImage realignImage(RenderedImage image) { if (image.getMinX() > 0 || image.getMinY() > 0) { return new BufferedImage( image.getColorModel(), ((WritableRaster) image.getData()).createWritableTranslatedChild(0, 0), image.getColorModel().isAlphaPremultiplied(), null); } else { return image; } } }
Raster data = pOriginal.getData(); WritableRaster raster; if (data instanceof WritableRaster) {
Raster raster = image instanceof BufferedImage ? ((BufferedImage) image).getRaster() : image.getData(); DataBuffer buf = raster.getDataBuffer(); if (buf instanceof DataBufferByte) {
final OutputStream output = compress ? new EncoderStream(pOutput, new PackBitsEncoder(), true) : pOutput; final ColorModel model = pImage.getColorModel(); final Raster raster = pImage.getData();
new BufferedImage( image.getColorModel(), ((WritableRaster) image.getData()) .createWritableTranslatedChild(0, 0), image.getColorModel().isAlphaPremultiplied(),
private Raster getData(RenderedImage image) { if (image instanceof BufferedImage) { // copy-less version of data access return ((BufferedImage) image).getRaster(); } else { return image.getData(); } }
/** * Test transparency is preserved when applying a ChannelSelect (Gray) style to an imageMosaic * with Transparent Footprint setting. */ @Test public void testTransparentFootprintWithChannelSelectGray() throws IOException, NoSuchAuthorityCodeException, FactoryException { File mosaicDirectory = prepareDirectory("footprintCSGray"); GridCoverage2D gc = readCoverage(mosaicDirectory, FootprintBehavior.Transparent, null); GridCoverage2D output = (GridCoverage2D) symbolizeRaster(gc, "graychannel.sld"); RenderedImage ri = output.getRenderedImage(); // Assert the alpha band has been preserved, even with a ChannelSelect SLD in place ColorModel cm = ri.getColorModel(); assertTrue(cm.hasAlpha()); assertEquals(2, cm.getNumComponents()); // Make sure the topleft pixel is transparent Raster rasterPixel = ri.getData(new Rectangle(0, 0, 1, 1)); assertEquals(0, rasterPixel.getSample(0, 0, 1)); disposeCoverage((GridCoverage2D) output); }
public static GridCoverage2D scale(GridCoverage2D coverage, float width, float height) { final RenderedImage renderedImage = coverage.getRenderedImage(); final Raster renderedGrid = renderedImage.getData(); float yScale = width/renderedGrid.getWidth(); float xScale = height/renderedGrid.getHeight(); final Operations ops = new Operations(null); return (GridCoverage2D) ops.scale(coverage, xScale, yScale, 0, 0); }
private static Raster getRaster(final RenderedImage image) { return image instanceof BufferedImage ? ((BufferedImage) image).getRaster() : image.getNumXTiles() == 1 && image.getNumYTiles() == 1 ? image.getTile(0, 0) : image.getData(); }
public GridImageElement(Lookup lkp) { gridDataObject = lkp.lookup(GridDataObject.class); assert gridDataObject != null; setLayout(new BorderLayout()); grid = gridDataObject.getLookup().lookup(Grid.class); RenderedImage ri = grid.getRenderedImage(); serializedRaster = ri.getData().getSamples(ri.getMinX(), ri.getMinY(), ri.getWidth(), ri.getHeight(), Grid.BAND, (int[]) null); initComponents(); }
public static RenderedImage binarize(RenderedImage image) { if (image.getData().getNumBands() > 1) image = grayscale(image); return binarize(image, getBinarizationThreshold(image)); }
public static RenderedImage grayscale(RenderedImage image) { if (image.getData().getNumBands() == 1) return image; // a lot of sample code uses the following instead of 1/3 // double[][] matrix = { { 0.114, 0.587, 0.299, 0 } }; final double[][] matrix1 = { { 1. / 3, 1. / 3, 1. / 3, 0 } }; ParameterBlock pb1 = getParameterBlockForImage(image); pb1.add(matrix1); return JAI.create("bandcombine", pb1, null); }