/** * Creates a tiled image from the supplied raster. Note that this method allocates a new raster for the tiled image * returned. The data of the given raster is then copied into the new one. */ public static TiledImage createTiledImage(Raster raster) { // create a float sample model SampleModel sampleModel = raster.getSampleModel(); // create a compatible ColorModel ColorModel colorModel = PlanarImage.createColorModel(sampleModel); // create a TiledImage using the float SampleModel TiledImage tiledImage = new TiledImage(0, 0, raster.getWidth(), raster.getHeight(), 0, 0, sampleModel, colorModel); // set the TiledImage data to that of the Raster tiledImage.setData(raster); JAIDebug.trace("createRenderedImage.tiledImage", tiledImage); return tiledImage; }
/******************************************************************************************************************* * * {@inheritDoc} * ******************************************************************************************************************/ @Nonnull @Override public EditableImage createCopy (final boolean copyContents) { final TiledImage image2 = new TiledImage(getPlanarImage(), false); if (copyContents) { image2.setData(getPlanarImage().getData()); // FIXME: getData() creates a copy! } return createImage(image2); }
/******************************************************************************* * * @inheritDoc * ******************************************************************************/ public EditableImage createCopy (boolean copyContents) { TiledImage image2 = new TiledImage(getPlanarImage(), false); if (copyContents) { image2.setData(getPlanarImage().getData()); // FIXME: getData() creates a copy! } return createImage(image2); }
private Band createBand(String name, int dataType, int w, int h, float[] floats, Double noDataValue) { final SampleModel sm = new PixelInterleavedSampleModel(DataBuffer.TYPE_FLOAT, w, h, 1, w, new int[]{0}); final ColorModel cm = PlanarImage.createColorModel(sm); final TiledImage sourceImage = new TiledImage(0, 0, w, h, 0, 0, sm, cm); sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferFloat(floats, w * h), null)); final Band band = new Band(name, dataType, w, h); band.setSourceImage(sourceImage); if (noDataValue != null) { band.setNoDataValueUsed(true); band.setNoDataValue(noDataValue); } return band; } }
sourceData[10] = 12; sourceData[15] = -3; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferShort(sourceData, width * height), null)); band.setSourceImage(sourceImage);
sourceData[10] = 12; sourceData[15] = -3; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferInt(sourceData, width * height), null)); band.setSourceImage(sourceImage);
sourceData[10] = 0.3f; sourceData[15] = 2.5f; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferFloat(sourceData, width * height), null)); band.setSourceImage(sourceImage);
sourceData[10] = 12; sourceData[15] = -3; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferShort(sourceData, width * height), null)); band.setSourceImage(sourceImage);
sourceData[10] = 0.3f; sourceData[15] = 2.5f; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferFloat(sourceData, width * height), null)); band.setSourceImage(sourceImage);
sourceData[10] = 0; sourceData[15] = -3; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferByte(sourceData, width * height), null)); band.setSourceImage(sourceImage);
sourceData[10] = 0; sourceData[15] = -3; sourceImage.setData(WritableRaster.createWritableRaster(sm, new DataBufferInt(sourceData, width * height), null)); band.setSourceImage(sourceImage);