final Point org = new Point(tileXToX(tileX), tileYToY(tileY)); final WritableRaster dest = createWritableRaster(sampleModel, org); final PlanarImage source = getSourceImage(0); final Rectangle srcRect = mapDestRect(destRect, 0); if (!srcRect.intersects(source.getBounds())) { if (setBackground) { computeRect(srcs, dest, destRect);
final RasterFormatTag[] formatTags = getFormatTags(); final RasterAccessor dst = new RasterAccessor(dest, destRect, formatTags[1], getColorModel()); Rectangle srcRectExpanded = mapDestRect(destRect, 0); roiDisjointTile = true; }else{ PlanarImage roiIMG = getImage(); roiIter = RandomIterFactory.create(roiIMG, null, TILE_CACHED, ARRAY_CALC); switch (dst.getDataType()) { case DataBuffer.TYPE_BYTE: computeRectByte(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_USHORT: computeRectUShort(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_SHORT: computeRectShort(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_INT: computeRectInt(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_FLOAT: computeRectFloat(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_DOUBLE: computeRectDouble(sources[0], dst, roiIter, roiContainsTile);
final RasterFormatTag[] formatTags = getFormatTags(); final RasterAccessor dst = new RasterAccessor(dest, destRect, formatTags[1], getColorModel()); Rectangle srcRectExpanded = mapDestRect(destRect, 0); roiDisjointTile = true; }else{ PlanarImage roiIMG = getImage(); roiIter = RandomIterFactory.create(roiIMG, null, TILE_CACHED, ARRAY_CALC); switch (dst.getDataType()) { case DataBuffer.TYPE_BYTE: computeRectByte(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_USHORT: computeRectUShort(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_SHORT: computeRectShort(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_INT: computeRectInt(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_FLOAT: computeRectFloat(sources[0], dst, roiIter, roiContainsTile); break; case DataBuffer.TYPE_DOUBLE: computeRectDouble(sources[0], dst, roiIter, roiContainsTile);
final Point org = new Point(tileXToX(tileX), tileYToY(tileY)); final WritableRaster dest = createWritableRaster(sampleModel, org); final PlanarImage source = getSourceImage(0); final Rectangle srcRect = mapDestRect(destRect, 0); if (!srcRect.intersects(source.getBounds())) { if (setBackground) { computeRect(srcs, dest, destRect);