RenderedImageFactory (Java SE 21 & JDK 21)
Description: declaration: module: java.desktop, package: java.awt.image.renderable, interface: RenderedImageFactory
Keywords: java.awt.image.renderable.RenderedImageFactory interface

Module java.desktop
Package java.awt.image.renderable

# Interface RenderedImageFactory

All Known Subinterfaces:
  `ContextualRenderedImageFactory`

public interface RenderedImageFactory
The RenderedImageFactory interface (often abbreviated RIF) is intended to be implemented by classes that wish to act as factories to produce different renderings, for example by executing a series of BufferedImageOps on a set of sources, depending on a specific set of parameters, properties, and rendering hints.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `RenderedImage`
  `create(ParameterBlock paramBlock, RenderingHints hints)`
  Creates a RenderedImage representing the results of an imaging operation (or chain of operations) for a given ParameterBlock and RenderingHints.

- ## Method Details

  - ### create

    RenderedImage create(ParameterBlock paramBlock, RenderingHints hints)
    Creates a RenderedImage representing the results of an imaging operation (or chain of operations) for a given ParameterBlock and RenderingHints. The RIF may also query any source images referenced by the ParameterBlock for their dimensions, SampleModels, properties, etc., as necessary.

    The create() method can return null if the RenderedImageFactory is not capable of producing output for the given set of source images and parameters. For example, if a RenderedImageFactory is only capable of performing a 3x3 convolution on single-banded image data, and the source image has multiple bands or the convolution Kernel is 5x5, null should be returned.

    Hints should be taken into account, but can be ignored. The created RenderedImage may have a property identified by the String HINTS_OBSERVED to indicate which RenderingHints 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.

    Parameters:
      `paramBlock` - a ParameterBlock containing sources and parameters for the RenderedImage to be created.
      `hints` - a RenderingHints object containing hints.
    Returns:
      A RenderedImage containing the desired output.