createRendering
Creates a RenderedImage which represents this RenderableImageOp (including its Renderable sources) rendered according to the given RenderContext.
This method supports chaining of either Renderable or RenderedImage operations. If sources in the ParameterBlock used to construct the RenderableImageOp are RenderableImages, then a three step process is followed:
- mapRenderContext() is called on the associated CRIF for each RenderableImage source;
- createRendering() is called on each of the RenderableImage sources using the backwards-mapped RenderContexts obtained in step 1, resulting in a rendering of each source;
- ContextualRenderedImageFactory.create() is called with a new ParameterBlock containing the parameters of the RenderableImageOp and the RenderedImages that were created by the createRendering() calls.
If the elements of the source Vector of the ParameterBlock used to construct the RenderableImageOp are instances of RenderedImage, then the CRIF.create() method is called immediately using the original ParameterBlock. This provides a basis case for the recursion.
The created RenderedImage may have a property identified by the String HINTS_OBSERVED to indicate which RenderingHints (from the RenderContext) were used to create the image. In addition any RenderedImages that are obtained via the getSources() method on the created RenderedImage may have such a property.
- Specified by:
-
createRendering
in interface RenderableImage
- Parameters:
-
renderContext
- The RenderContext to use to perform the rendering.
- Returns:
- a RenderedImage containing the desired output image.