/** * 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); } } } }
/** * 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); } } } }
input.getMinTileY() != output.getMinTileY() || input.getTileWidth() != output.getTileWidth() || input.getTileHeight() != output.getTileHeight())
"First : "+renderedImage+"\nSecond : "+writableRI); final int wrimtx = writableRI.getMinTileX(); final int wrimty = writableRI.getMinTileY(); final int rimtx = writableRI.getMinTileX(); final int rimty = writableRI.getMinTileY();
final int tileWidth = image.getTileWidth(); final int tileHeight = image.getTileHeight(); final int minTileY = image.getMinTileY(); final int maxTileY = image.getNumXTiles() + minTileY - 1; // inclusive. while (!stack.isEmpty()) {
final int wrimty = writableRI.getMinTileY();
if (fillValue.length != numBands) throw new IllegalArgumentException("fillValue table length and numbands are different : "+fillValue.length+" numbands = "+this.numBands); assert(numBands == imageDest.getWritableTile(imageDest.getMinTileX(), imageDest.getMinTileY()).getNumBands()) : "destination image numbands different from source image numbands"; this.destIterator = PixelIteratorFactory.createDefaultWriteableIterator(this.imageDest, this.imageDest, resampleArea);
if (fillValue.length != numBands) throw new IllegalArgumentException("fillValue table length and numbands are different : "+fillValue.length+" numbands = "+this.numBands); assert(numBands == imageDest.getWritableTile(imageDest.getMinTileX(), imageDest.getMinTileY()).getNumBands()) : "destination image numbands different from source image numbands"; this.destIterator = PixelIteratorFactory.createDefaultWriteableIterator(this.imageDest, this.imageDest, resampleArea);
final int destMinRastYIndex = imageDest.getMinTileY() + (rectBound.y - imageDest.getMinY()) / tileHeight; final int destMaxRastX = imageDest.getMinTileX() + (rectBound.x + rectBound.width + tileWidth - 1) / tileWidth; final int destMaxRastY = imageDest.getMinTileY() + (rectBound.y + rectBound.height + tileHeight - 1) / tileHeight;