@Override public void render( RasterStyling styling, AbstractRaster raster ) { LOG.debug( "Rendering raster with style '{}'.", styling ); if ( raster == null ) { LOG.warn( "Trying to render null raster." ); return; } if ( styling == null ) { LOG.debug( "Raster style is null, rendering without style" ); render( raster ); return; } handleStyling( styling, raster ); }
private void render( final AbstractRaster raster ) { render( RasterFactory.imageFromRaster( raster ), raster.getEnvelope() ); }
private void handleStyling( RasterStyling styling, AbstractRaster raster ) { BufferedImage img = null; if ( styling.channelSelection != null ) { // Compute channel selection indexes on current raster styling.channelSelection.evaluate( raster.getRasterDataInfo().bandInfo ); } // TODO maybe reorder this a bit if ( styling.shaded != null ) { raster = performHillShading( raster, styling ); } if ( styling.channelSelection != null ) { raster = evaluateChannelSelections( styling.channelSelection, raster ); } if ( styling.contrastEnhancement != null ) { raster = performContrastEnhancement( raster, styling.contrastEnhancement ); } if ( styling.opacity != 1 ) { LOG.trace( "Using opacity: {}", styling.opacity ); graphics.setComposite( AlphaComposite.getInstance( AlphaComposite.SRC_OVER, (float) styling.opacity ) ); } img = handleFunctions( styling, raster ); LOG.trace( "Rendering raster..." ); if ( img != null ) { render( img, raster.getEnvelope() ); } else { render( raster ); } LOG.trace( "Done rendering raster." ); handleOutline( styling, raster ); }