/** * Sets every samples in the given image to the given value. This method is typically used for * clearing an image content. * * @param image The image to fill. * @param value The value to to given to every samples. */ public static void fill(final WritableRenderedImage image, final Number value) { int y = image.getMinTileY(); for (int ny = image.getNumYTiles(); --ny >= 0; ) { int x = image.getMinTileX(); for (int nx = image.getNumXTiles(); --nx >= 0; ) { final WritableRaster raster = image.getWritableTile(x, y); try { fill(raster.getDataBuffer(), value); } finally { image.releaseWritableTile(x, y); } } } }
/** * Releases the tiles acquired by this iterator, if any. * This method does nothing if the iterator is read-only. */ @Override public void close() { if (destination != null && destRaster != null) { destRaster = null; destination.releaseWritableTile(tileX, tileY); } } }
/** * {@inheritDoc }. */ @Override public void close() { writableRenderedImage.releaseWritableTile(prectX, prectY); super.close(); } }
/** * {@inheritDoc }. */ @Override public void close() { super.close(); writableRenderedImage.releaseWritableTile(prectX, prectY); }
/** * {@inheritDoc }. */ @Override public void close() { writableRenderedImage.releaseWritableTile(prectX, prectY); super.close(); } }
/** * {@inheritDoc }. */ @Override public void close() { writableRenderedImage.releaseWritableTile(prectX, prectY); super.close(); } }
/** * {@inheritDoc }. */ @Override public void close() { writableRenderedImage.releaseWritableTile(prectX, prectY); super.close(); }
/** * {@inheritDoc }. */ @Override public void close() { writableRenderedImage.releaseWritableTile(prectX, prectY); super.close(); } }
/** * {@inheritDoc }. */ @Override protected void updateCurrentRaster(int tileX, int tileY) { super.updateCurrentRaster(tileX, tileY); if (currentWritableRaster != null) writableRenderedImage.releaseWritableTile(prectX, prectY); this.currentWritableRaster = writableRenderedImage.getWritableTile(tileX, tileY); this.currentWritableDataArray = ((DataBufferByte) currentWritableRaster.getDataBuffer()).getData(); this.prectX = tileX; this.prectY = tileY; }
/** * Update current writable raster from tiles array coordinates. */ @Override protected void updateCurrentRaster(int tileX, int tileY) { super.updateCurrentRaster(tileX, tileY); if (currentWritableDataArray != null) writableRenderedImage.releaseWritableTile(prectX, prectY); currentWritableDataArray = ((DataBufferByte) writableRenderedImage.getWritableTile(tileX, tileY).getDataBuffer()).getData(); this.prectX = tileX; this.prectY = tileY; }
/** * Update current writable raster from tiles array coordinates. */ @Override protected void updateCurrentRaster(int tileX, int tileY) { super.updateCurrentRaster(tileX, tileY); if (currentWritableRaster != null) writableRenderedImage.releaseWritableTile(prectX, prectY); currentWritableRaster = writableRenderedImage.getWritableTile(tileX, tileY); this.prectX = tileX; this.prectY = tileY; }
/** * {@inheritDoc }. */ @Override protected void updateCurrentRaster(int tileX, int tileY) { super.updateCurrentRaster(tileX, tileY); if (currentWritableRaster != null) writableRenderedImage.releaseWritableTile(prectX, prectY); this.currentWritableRaster = writableRenderedImage.getWritableTile(tileX, tileY); prectX = tileX; prectY = tileY; }
/** * Update current writable raster from tiles array coordinates. */ @Override protected void updateCurrentRaster(int tileX, int tileY) { super.updateCurrentRaster(tileX, tileY); if (currentWritableDataArray != null) writableRenderedImage.releaseWritableTile(prectX, prectY); currentWritableDataArray = ((DataBufferFloat) writableRenderedImage.getWritableTile(tileX, tileY).getDataBuffer()).getData(); this.prectX = tileX; this.prectY = tileY; }
/** * {@inheritDoc }. */ @Override protected void updateCurrentRaster(int tileX, int tileY) { super.updateCurrentRaster(tileX, tileY); if (currentWritableRaster != null) writableRenderedImage.releaseWritableTile(prectX, prectY); this.currentWritableRaster = writableRenderedImage.getWritableTile(tileX, tileY); this.currentWritableRaster = writableRenderedImage.getWritableTile(tileX, tileY); this.currentWritableDataArray = ((DataBufferFloat) currentWritableRaster.getDataBuffer()).getData(); this.prectX = tileX; this.prectY = tileY; }
public void setRasterValue(Coordinate coordinate, int value) { checkState(); if (!boundingBox.contains(coordinate.x, coordinate.y)) { throw new IllegalArgumentException("Can only add raster values for coordinates (" + coordinate + ") within the bounding box (" + boundingBox + ")"); } Point p = this.gridCellSize.getCell(boundingBox, coordinate); // LOGGER.log(Level.FINEST, "raster value set to {0} on cell {1}", new Object[]{value, p}); WritableRenderedImage raster = getRenderedImage(); WritableRaster tile = raster.getWritableTile(p.x, p.y); try { tile.setSample(p.x, p.y, 0, value); } catch (ArrayIndexOutOfBoundsException e) { LOGGER.log(Level.WARNING, "ArrayIndexOutOfBoundsException for p.x={0} and p.y={1}", new Object[]{p.x, p.y}); } raster.releaseWritableTile(p.x, p.y); }
/** * Sets every samples in the given image to the given value. This method is typically used * for clearing an image content. * * @param image The image to fill. * @param value The value to to given to every samples. */ public static void fill(final WritableRenderedImage image, final Number value) { int y = image.getMinTileY(); for (int ny = image.getNumYTiles(); --ny >= 0;) { int x = image.getMinTileX(); for (int nx = image.getNumXTiles(); --nx >= 0;) { final WritableRaster raster = image.getWritableTile(x, y); try { fill(raster.getDataBuffer(), value); } finally { image.releaseWritableTile(x, y); } } } }
/** * Sets every samples in the given image to the given value. This method is typically used * for clearing an image content. * * @param image The image to fill. * @param value The value to be given to every samples. */ public static void fill(final WritableRenderedImage image, final Number value) { int y = image.getMinTileY(); for (int ny = image.getNumYTiles(); --ny >= 0; y++) { int x = image.getMinTileX(); for (int nx = image.getNumXTiles(); --nx >= 0; x++) { final WritableRaster raster = image.getWritableTile(x, y); try { fill(raster.getDataBuffer(), value); } finally { image.releaseWritableTile(x, y); } } } }
fill(raster, top, bottom, bounds, x, y, oldSamples, newSamples, stack); } finally { image.releaseWritableTile(tileX, tileY);