-
- All Superinterfaces:
- RenderedImageFactory
public interface ContextualRenderedImageFactory extends RenderedImageFactory
ContextualRenderedImageFactory provides an interface for the functionality that may differ between instances of RenderableImageOp. Thus different operations on RenderableImages may be performed by a single class such as RenderedImageOp through the use of multiple instances of ContextualRenderedImageFactory. The name ContextualRenderedImageFactory is commonly shortened to "CRIF."All operations that are to be used in a rendering-independent chain must implement ContextualRenderedImageFactory.
Classes that implement this interface must provide a constructor with no arguments.
-
-
Method Summary
Methods Modifier and Type Method and Description RenderedImage
create(RenderContext renderContext, ParameterBlock paramBlock)
Creates a rendering, given a RenderContext and a ParameterBlock containing the operation's sources and parameters.Rectangle2D
getBounds2D(ParameterBlock paramBlock)
Returns the bounding box for the output of the operation, performed on a given set of sources, in rendering-independent space.Object
getProperty(ParameterBlock paramBlock, String name)
Gets the appropriate instance of the property specified by the name parameter.String[]
getPropertyNames()
Returns a list of names recognized by getProperty.boolean
isDynamic()
Returns true if successive renderings (that is, calls to create(RenderContext, ParameterBlock)) with the same arguments may produce different results.RenderContext
mapRenderContext(int i, RenderContext renderContext, ParameterBlock paramBlock, RenderableImage image)
Maps the operation's output RenderContext into a RenderContext for each of the operation's sources.-
Methods inherited from interface java.awt.image.renderable.RenderedImageFactory
create
-
-
-
-
Method Detail
-
mapRenderContext
RenderContext mapRenderContext(int i, RenderContext renderContext, ParameterBlock paramBlock, RenderableImage image)
Maps the operation's output RenderContext into a RenderContext for each of the operation's sources. This is useful for operations that can be expressed in whole or in part simply as alterations in the RenderContext, such as an affine mapping, or operations that wish to obtain lower quality renderings of their sources in order to save processing effort or transmission bandwith. Some operations, such as blur, can also use this mechanism to avoid obtaining sources of higher quality than necessary.- Parameters:
i
- the index of the source image.renderContext
- the RenderContext being applied to the operation.paramBlock
- a ParameterBlock containing the operation's sources and parameters.image
- the RenderableImage being rendered.- Returns:
- a
RenderContext
for the source at the specified index of the parameters Vector contained in the specified ParameterBlock.
-
create
RenderedImage create(RenderContext renderContext, ParameterBlock paramBlock)
Creates a rendering, given a RenderContext and a ParameterBlock containing the operation's sources and parameters. The output is a RenderedImage that takes the RenderContext into account to determine its dimensions and placement on the image plane. This method houses the "intelligence" that allows a rendering-independent operation to adapt to a specific RenderContext.- Parameters:
renderContext
- The RenderContext specifying the renderingparamBlock
- a ParameterBlock containing the operation's sources and parameters- Returns:
- a
RenderedImage
from the sources and parameters in the specified ParameterBlock and according to the rendering instructions in the specified RenderContext.
-
getBounds2D
Rectangle2D getBounds2D(ParameterBlock paramBlock)
Returns the bounding box for the output of the operation, performed on a given set of sources, in rendering-independent space. The bounds are returned as a Rectangle2D, that is, an axis-aligned rectangle with floating-point corner coordinates.- Parameters:
paramBlock
- a ParameterBlock containing the operation's sources and parameters.- Returns:
- a Rectangle2D specifying the rendering-independent bounding box of the output.
-
getProperty
Object getProperty(ParameterBlock paramBlock, String name)
Gets the appropriate instance of the property specified by the name parameter. This method must determine which instance of a property to return when there are multiple sources that each specify the property.- Parameters:
paramBlock
- a ParameterBlock containing the operation's sources and parameters.name
- a String naming the desired property.- Returns:
- an object reference to the value of the property requested.
-
getPropertyNames
String[] getPropertyNames()
Returns a list of names recognized by getProperty.- Returns:
- the list of property names.
-
isDynamic
boolean isDynamic()
Returns true if successive renderings (that is, calls to create(RenderContext, ParameterBlock)) with the same arguments may produce different results. This method may be used to determine whether an existing rendering may be cached and reused. It is always safe to return true.- Returns:
true
if successive renderings with the same arguments might produce different results;false
otherwise.
-
-
Traduction non disponible
Les API Java ne sont pas encore traduites en français sur l'infobrol. Seule la version anglaise est disponible pour l'instant.
Version en cache
25/11/2024 07:41:12 Cette version de la page est en cache (à la date du 25/11/2024 07:41:12) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 06/12/2006, dernière modification le 04/03/2020
Source du document imprimé : https://www.gaudry.be/java-api-rf-java/awt/image/renderable/contextualrenderedimagefactory.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.