/** Builds a new tile, creating it from scratch. */ public WritableRaster createTile(SampleModel sampleModel, Point location) { // sanity checks if (sampleModel == null) { throw new NullPointerException("sampleModel cannot be null"); } if (location == null) { location = new Point(0, 0); } return RasterFactory.createWritableRaster(sampleModel, location); }
raster = RasterFactory.createBandedRaster(DataBuffer.TYPE_FLOAT, width, height, 1, null); for (int j = 0; j < height; j++) { int i = 0;
SampleModel originalSampleModel = layout.getSampleModel(null); SampleModel sampleModel = RasterFactory.createBandedSampleModel( originalSampleModel.getDataType(), originalSampleModel.getWidth(),
sm = RasterFactory.createComponentSampleModel(sm, destDataType, destTileWidth, destTileHeight, destNumBands);
private static RenderedImage createRenderedImage(final double[] array, final int w, final int h) { // create rendered image with demension being width by height final SampleModel sampleModel = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_DOUBLE, w, h, 1); final ColorModel colourModel = PlanarImage.createColorModel(sampleModel); final DataBufferDouble dataBuffer = new DataBufferDouble(array, array.length); final WritableRaster raster = RasterFactory.createWritableRaster(sampleModel, dataBuffer, new Point(0, 0)); return new BufferedImage(colourModel, raster, false, new Hashtable()); }
RasterFactory.createPixelInterleavedSampleModel( DataBuffer.TYPE_FLOAT, image.getWidth(), image.getHeight(), 1); TiledImage destImage =
raster = factory.createTile(RasterFactory.createBandedSampleModel( java.awt.image.DataBuffer.TYPE_DOUBLE, dstWidth, dstHeight, 1), null); else raster = RasterFactory.createBandedRaster( java.awt.image.DataBuffer.TYPE_DOUBLE, dstWidth, dstHeight, 1, null);
case BYTE: case SHORT: sm = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_SHORT, dmImage.getTileWidth(), dmImage.getTileHeight(), 1); scs = ColorSpace.getInstance(ColorSpace.CS_GRAY); break; case INTEGER: sm = RasterFactory.createPixelInterleavedSampleModel(DataBuffer.TYPE_INT, dmImage.getTileWidth(), dmImage.getTileHeight(), 1); scs = ColorSpace.getInstance(ColorSpace.CS_GRAY); case FLOAT: case DOUBLE: sm = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_FLOAT, dmImage.getTileWidth(), dmImage.getTileHeight(), 1); cm = PlanarImage.createColorModel(sm);
public void unappropriateRasterTest() { final int databuffer = getDataBufferType(); Raster rasterRead = RasterFactory.createInterleavedRaster(databuffer, 20, 10, 3, new Point(0,0)); WritableRaster rasterWrite = RasterFactory.createInterleavedRaster(databuffer, 200, 100, 30, new Point(3,1)); rasterRead = RasterFactory.createBandedRaster(databuffer, 100, 100, 3, new Point(10, 15)); Rectangle subarea = new Rectangle(50, 55, 20, 10); rasterWrite = RasterFactory.createBandedRaster(databuffer, 40, 20, 3, new Point(40, 50)); rasterWrite = RasterFactory.createBandedRaster(databuffer, 15, 7, 3, new Point(55, 56)); try { getWritableRIIterator(rasterRead, rasterWrite, subarea);
@Override public ColorModel createColorModel( SampleModel sampleModel, List sources, Map configuration) { final int dataType = sampleModel.getDataType(); final int numBands = sampleModel.getNumBands(); ColorSpace cs; switch (numBands) { case 1: case 2: cs = ColorSpace.getInstance(ColorSpace.CS_GRAY); break; case 3: cs = ColorSpace.getInstance(ColorSpace.CS_sRGB); break; default: cs = new BogusColorSpace(numBands); } return RasterFactory.createComponentColorModel( dataType, cs, false, false, Transparency.OPAQUE); } });
sm = RasterFactory.createComponentSampleModel(sm, destDataType, destTileWidth, destTileHeight, destNumBands);
private static RenderedImage createRenderedImage(final double[] array, final int w, final int h) { // create rendered image with dimension being width by height final SampleModel sampleModel = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_DOUBLE, w, h, 1); final ColorModel colourModel = PlanarImage.createColorModel(sampleModel); final DataBufferDouble dataBuffer = new DataBufferDouble(array, array.length); final WritableRaster raster = RasterFactory.createWritableRaster(sampleModel, dataBuffer, new Point(0, 0)); return new BufferedImage(colourModel, raster, false, null); }
RasterFactory.createPixelInterleavedSampleModel( DataBuffer.TYPE_INT, image.getWidth(), image.getHeight(), 1);
case BYTE: case SHORT: sm = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_SHORT, dmImage.getTileWidth(), dmImage.getTileHeight(), 1); scs = ColorSpace.getInstance(ColorSpace.CS_GRAY); break; case INTEGER: sm = RasterFactory.createPixelInterleavedSampleModel(DataBuffer.TYPE_INT, dmImage.getTileWidth(), dmImage.getTileHeight(), 1); scs = ColorSpace.getInstance(ColorSpace.CS_GRAY); case FLOAT: case DOUBLE: sm = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_FLOAT, dmImage.getTileWidth(), dmImage.getTileHeight(), 1); cm = PlanarImage.createColorModel(sm);
private static ColorModel buildColorModel(final int type) { return RasterFactory.createComponentColorModel(type, // dataType ColorSpace.getInstance(ColorSpace.CS_GRAY), // color space false, // has alpha false, // is alphaPremultiplied Transparency.OPAQUE); // transparency }
/** * Builds a 1x1 BufferedImage with the provided sample model and color model * * @return */ public BufferedImage toBufferedImage() { final SampleModel sm = sampleModel.createCompatibleSampleModel(1, 1); final WritableRaster raster = RasterFactory.createWritableRaster(sm, null); final BufferedImage image = new BufferedImage(colorModel, raster, colorModel.isAlphaPremultiplied(), null); return image; }
int numBands = src.getSampleModel().getNumBands(); SampleModel csm = RasterFactory.createComponentSampleModel(sampleModel, dataType, tileWidth, tileHeight, numBands);
private static RenderedImage createRenderedImage(double[] array, int width, int height) { // create rendered image with dimension being width by height final SampleModel sampleModel = RasterFactory.createBandedSampleModel(DataBuffer.TYPE_DOUBLE, width, height, 1); final ColorModel colourModel = PlanarImage.createColorModel(sampleModel); final DataBufferDouble dataBuffer = new DataBufferDouble(array, array.length); final WritableRaster raster = RasterFactory.createWritableRaster(sampleModel, dataBuffer, new java.awt.Point(0, 0)); return new BufferedImage(colourModel, raster, false, new Hashtable()); }
/** * Building a synthetic image upon a FLOAT sample-model. * * @return {@linkplain BufferedImage} */ private BufferedImage getSynthetic_Float() { final int width = 500; final int height = 500; final WritableRaster raster = RasterFactory.createBandedRaster(DataBuffer.TYPE_FLOAT, width, height, 1, null); for (int y = 0; y < height; y++) { for (int x = 0; x < width; x++) { raster.setSample(x, y, 0, (x + y)); } } final ColorModel cm = new ComponentColorModelJAI( ColorSpace.getInstance(ColorSpace.CS_GRAY), false, false, Transparency.OPAQUE, DataBuffer.TYPE_FLOAT); final BufferedImage image = new BufferedImage(cm, raster, false, null); return image; }
private ImageLayout buildLayout(Rectangle bounds, Dimension tileSize, int dataType) { if (bounds == null) { throw new IllegalStateException( "Cannot determine output image layout, dest bounds have not been provided"); } ImageLayout layout = new ImageLayout(bounds.x, bounds.y, bounds.width, bounds.height); SampleModel sm = RasterFactory.createPixelInterleavedSampleModel( dataType, tileSize.width, tileSize.height, 1); layout.setSampleModel(sm); layout.setColorModel(PlanarImage.createColorModel(sm)); return layout; }