javax.media.jai.operator
Class ImageFunctionDescriptor
java.lang.Object
|
+--javax.media.jai.OperationDescriptorImpl
|
+--javax.media.jai.operator.ImageFunctionDescriptor
- All Implemented Interfaces:
- OperationDescriptor, RegistryElementDescriptor, Serializable
- public class ImageFunctionDescriptor
- extends OperationDescriptorImpl
An OperationDescriptor
describing the "ImageFunction"
operation.
The "ImageFunction" operation generates an image on the basis of
a functional description provided by an object which is an instance of
a class which implements the ImageFunction
interface.
The (x,y) coordinates passed to the getElements()
methods of the ImageFunction
object are derived by applying
an optional translation and scaling to the X- and Y-coordinates of the
image. The image X- and Y-coordinates as usual depend on the values of
the minimum X- and Y- coordinates of the image which need not be zero.
Specifically, the function coordinates passed to getElements()
are calculated from the image coordinates as:
functionX = xScale*(imageX - xTrans);
functionY = yScale*(imageY - yTrans);
This implies that the pixel at coordinates (xTrans,yTrans) will
be assigned the value of the function at (0,0).
The number of bands in the destination image must be equal to the
value returned by the getNumElements()
method of the
ImageFunction
unless the isComplex()
method
of the ImageFunction
returns true
in which
case it will be twice that. The data type of the destination image is
determined by the SampleModel
specified by an
ImageLayout
object provided via a hint. If no layout hint
is provided, the data type will default to single-precision floating point.
The double precision floating point form of the getElements()
method of the ImageFunction
will be invoked if and only if
the data type is specified to be double
. For all other data
types the single precision form of getElements()
will be
invoked and the destination sample values will be clamped to the data type
of the image.
The width and height of the image are provided explicitely as
parameters. These values override the width and height specified via
an ImageLayout
if such is provided.
"ImageFunction" defines a PropertyGenerator that sets the "COMPLEX"
property of the image to java.lang.Boolean.TRUE
or
java.lang.Boolean.FALSE
depending on whether the
isComplex()
method of the ImageFunction
parameter returns true
or false
, respectively.
This property may be retrieved by calling the getProperty()
method with "COMPLEX" as the property name.
Resource List
Name | Value |
GlobalName | ImageFunction |
LocalName | ImageFunction |
Vendor | com.sun.media.jai |
Description | Generates an image from a functional description. |
DocURL | http://java.sun.com/products/java-media/jai/forDevelopers/jai-apidocs/javax/media/jai/operator/ImageFunctionDescriptor.html |
Version | 1.0 |
arg0Desc | The functional description. |
arg1Desc | The image width. |
arg2Desc | The image height. |
arg3Desc | The X scale factor. |
arg4Desc | The Y scale factor. |
arg5Desc | The X translation. |
arg6Desc | The Y translation. |
Parameter List
Name | Class Type |
Default Value |
function | javax.media.jai.ImageFunction |
NO_PARAMETER_DEFAULT |
width | java.lang.Integer |
NO_PARAMETER_DEFAULT |
height | java.lang.Integer |
NO_PARAMETER_DEFAULT |
xScale | java.lang.Float |
1.0F |
yScale | java.lang.Float |
1.0F |
xTrans | java.lang.Float |
0.0F |
yTrans | java.lang.Float |
0.0F |
- See Also:
AffineTransform
,
OperationDescriptor
,
ImageFunction
, Serialized Form
Methods inherited from class javax.media.jai.OperationDescriptorImpl |
arePropertiesSupported, getDefaultSourceClass, getDestClass, getDestClass, getInvalidRegion, getName, getNumParameters, getNumSources, getParamClasses, getParamDefaults, getParamDefaultValue, getParameterListDescriptor, getParamMaxValue, getParamMinValue, getParamNames, getPropertyGenerators, getRenderableDestClass, getRenderableSourceClasses, getResourceBundle, getResources, getSourceClasses, getSourceClasses, getSourceNames, getSupportedModes, isImmediate, isModeSupported, isRenderableSupported, isRenderedSupported, makeDefaultSourceClassList, validateArguments, validateArguments, validateParameters, validateParameters, validateRenderableArguments, validateRenderableSources, validateSources, validateSources |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ImageFunctionDescriptor
public ImageFunctionDescriptor()
- Constructor.
getPropertyGenerators
public PropertyGenerator[] getPropertyGenerators()
- Returns an array of
PropertyGenerators
implementing
property inheritance for the "ImageFunction" operation.
- Overrides:
getPropertyGenerators
in class OperationDescriptorImpl
- Returns:
- An array of property generators.
create
public static RenderedOp create(ImageFunction function,
Integer width,
Integer height,
Float xScale,
Float yScale,
Float xTrans,
Float yTrans,
RenderingHints hints)
- Generates an image from a functional description.
Creates a ParameterBlockJAI
from all
supplied arguments except hints
and invokes
JAI.create(String,ParameterBlock,RenderingHints)
.
- Parameters:
function
- The functional description.width
- The image width.height
- The image height.xScale
- The X scale factor.
May be null
.yScale
- The Y scale factor.
May be null
.xTrans
- The X translation.
May be null
.yTrans
- The Y translation.
May be null
.hints
- The RenderingHints
to use.
May be null
.- Returns:
- The
RenderedOp
destination. - Throws:
IllegalArgumentException
- if function
is null
.IllegalArgumentException
- if width
is null
.IllegalArgumentException
- if height
is null
.- See Also:
JAI
,
ParameterBlockJAI
,
RenderedOp