- Applying Rendering Hints
- Managing Memory
- Scheduling Tiles
- Reformatting an Image
- Extending the Border
- A Rendering Example
- A Closer Look at the PlanarImage Class
- Using the RenderedOp Class
- Working with Tiles
- A Tiled-Image Viewer
- Writing to Pixels
- Creating an Aggregate Image
- A JAI Image Browser
- The Renderable Layer
- Conclusion
Conclusion
In this chapter we discussed the classes that are responsible for rendered as well as renderable layers. Rendering images in JAI can be made smooth, fast, and efficient by the application of some prerendering operations, including setting of appropriate rendering hints, effective layout of the tiles, and efficient allocation of memory for tiles.
At the center of JAI rendering is the PlanarImage class. A rendered node is represented by RenderedOp and typically evaluated to obtain a PlanarImage object before rendering. In the RenderedImageCanvas example, only the tiles that are needed for display are computed, thereby improving the rendering performance. This is very important in interactive image manipulation. As we'll see in Chapter 12, if an image is not properly tiled, there is a drastic reduction in rendering performance.
In the renderable chain, RenderableOp represents a renderable node. A RenderableOp object is typically evaluated to obtain a RenderedImage object before rendering. In the TiledRenderableImageCanvas example, we used the tiling mechanism of RenderedImageCanvas.