| java.lang.Object java.awt.image.ColorModel java.awt.image.ComponentColorModel javax.media.jai.FloatDoubleColorModel
FloatDoubleColorModel | public class FloatDoubleColorModel extends ComponentColorModel (Code) | | A ColorModel class that works with pixel values that
represent color and alpha information as separate samples, using
float or double elements. This class can be used with an arbitrary
ColorSpace . The number of color samples in the pixel
values must be same as the number of color components in the
ColorSpace . There may be a single alpha sample.
Sample values are taken as ranging from 0.0 to 1.0; that is,
when converting to 8-bit RGB, a multiplication by 255 is performed
and values outside of the range 0-255 are clamped at the closest
endpoint.
For maximum efficiency, pixel data being interpreted by this
class should be in the sRGB color space. This will result in
only the trivial conversion (scaling by 255 and dividing by any
premultiplied alpha) to be performed. Other color spaces require
more general conversions.
For those methods that use a primitive array pixel
representation of type transferType , the array length
is the same as the number of color and alpha samples. Color
samples are stored first in the array followed by the alpha sample,
if present. The order of the color samples is specified by the
ColorSpace . Typically, this order reflects the name
of the color space type. For example, for TYPE_RGB ,
index 0 corresponds to red, index 1 to green, and index 2 to blue.
The transfer types supported are
DataBuffer.TYPE_FLOAT ,
DataBuffer.TYPE_DOUBLE .
The translation from pixel values to color/alpha components for
display or processing purposes is a one-to-one correspondence of
samples to components.
Methods that use a single int pixel representation throw an
IllegalArgumentException .
A FloatDoubleColorModel can be used in
conjunction with a ComponentSampleModelJAI .
See Also: java.awt.image.ColorModel See Also: java.awt.color.ColorSpace See Also: java.awt.image.ComponentSampleModel See Also: ComponentSampleModelJAI |
Field Summary | |
protected ColorSpace | colorSpace The associated ColorSpace . | protected int | colorSpaceType The type or family of the associated ColorSpace . | protected boolean | hasAlpha Whether this ColorModel supports alpha. | protected boolean | isAlphaPremultiplied Whether alpha is premultiplied. | protected int | numColorComponents The number of components of the associated ColorSpace . | protected int | numComponents The number of components represented by this ColorModel . | protected int | transparency Specifies what alpha values can be represented by this
ColorModel . |
Constructor Summary | |
public | FloatDoubleColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType) Constructs a ComponentColorModel from the
specified parameters. |
Method Summary | |
public ColorModel | coerceData(WritableRaster raster, boolean isAlphaPremultiplied) Forces the raster data to match the state specified in the
isAlphaPremultiplied variable, assuming the data
is currently correctly described by this ColorModel . | public SampleModel | createCompatibleSampleModel(int w, int h) Creates a SampleModel with the specified width and
height that has a data layout compatible with this
ColorModel . | public WritableRaster | createCompatibleWritableRaster(int w, int h) Creates a WritableRaster with the specified width
and height, that has a data layout (SampleModel )
compatible with this ColorModel . | public int | getAlpha(int pixel) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public int | getAlpha(Object inData) Returns the alpha component for the specified pixel, scaled
from 0 to 255. | public int | getBlue(int pixel) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public int | getBlue(Object inData) Returns the blue color component for the specified pixel, scaled
from 0 to 255 in the default RGB ColorSpace , sRGB. | public int[] | getComponents(int pixel, int[] components, int offset) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public int[] | getComponents(Object pixel, int[] components, int offset) Throws an IllegalArgumentException since
the pixel values cannot be placed into an int array. | public int | getDataElement(int[] components, int offset) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public Object | getDataElements(int rgb, Object pixel) Returns a data element array representation of a pixel in this
ColorModel , given an integer pixel representation
in the default RGB color model. | public Object | getDataElements(int[] components, int offset, Object obj) Returns a data element array representation of a pixel in this
ColorModel , given an array of unnormalized
color/alpha components. | public int | getGreen(int pixel) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public int | getGreen(Object inData) Returns the green color component for the specified pixel, scaled
from 0 to 255 in the default RGB ColorSpace , sRGB. | public int | getRGB(int pixel) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public int | getRGB(Object inData) Returns the color/alpha components for the specified pixel in
the default RGB color model format. | public int | getRed(int pixel) Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int . | public int | getRed(Object inData) Returns the red color component for the specified pixel, scaled
from 0 to 255 in the default RGB ColorSpace , sRGB. | public boolean | isCompatibleRaster(Raster raster) Returns true if the supplied Raster 's
SampleModel is compatible with this
FloatDoubleColorModel . | public boolean | isCompatibleSampleModel(SampleModel sm) Checks whether or not the specified SampleModel is
compatible with this ColorModel . | public String | toString() Returns a String containing the values of all valid fields. |
colorSpace | protected ColorSpace colorSpace(Code) | | The associated ColorSpace .
since: JAI 1.1 |
colorSpaceType | protected int colorSpaceType(Code) | | The type or family of the associated ColorSpace .
since: JAI 1.1 |
hasAlpha | protected boolean hasAlpha(Code) | | Whether this ColorModel supports alpha.
since: JAI 1.1 |
isAlphaPremultiplied | protected boolean isAlphaPremultiplied(Code) | | Whether alpha is premultiplied.
since: JAI 1.1 |
numColorComponents | protected int numColorComponents(Code) | | The number of components of the associated ColorSpace .
since: JAI 1.1 |
numComponents | protected int numComponents(Code) | | The number of components represented by this ColorModel .
This will differ from the number of components of the associated
ColorSpace if there is an alpha channel.
since: JAI 1.1 |
transparency | protected int transparency(Code) | | Specifies what alpha values can be represented by this
ColorModel .
since: JAI 1.1 |
FloatDoubleColorModel | public FloatDoubleColorModel(ColorSpace colorSpace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)(Code) | | Constructs a ComponentColorModel from the
specified parameters. Color components will be in the specified
ColorSpace . hasAlpha indicates
whether alpha information is present. If hasAlpha
is true, then the boolean isAlphaPremultiplied
specifies how to interpret color and alpha samples in pixel
values. If the boolean is true , color samples are
assumed to have been multiplied by the alpha sample. The
transparency specifies what alpha values can be
represented by this color model. The transferType
is the type of primitive array used to represent pixel values.
Parameters: colorSpace - The ColorSpace associated withthis color model. Parameters: hasAlpha - If true, this color model supports alpha. Parameters: isAlphaPremultiplied - If true, alpha is premultiplied. Parameters: transparency - Specifies what alpha values can be representedby this color model. Parameters: transferType - Specifies the type of primitive array used torepresent pixel values, one ofDataBuffer.TYPE_FLOAT or TYPE_DOUBLE. throws: IllegalArgumentException - If the transfer type is notDataBuffer.TYPE_FLOAT or TYPE_DOUBLE. See Also: java.awt.color.ColorSpace See Also: java.awt.Transparency |
coerceData | public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)(Code) | | Forces the raster data to match the state specified in the
isAlphaPremultiplied variable, assuming the data
is currently correctly described by this ColorModel .
It may multiply or divide the color raster data by alpha, or
do nothing if the data is in the correct state. If the data needs
to be coerced, this method also returns an instance of
FloatDoubleColorModel with
the isAlphaPremultiplied flag set appropriately.
throws: IllegalArgumentException - if transfer type ofraster is not the same as that of thisFloatDoubleColorModel . |
createCompatibleSampleModel | public SampleModel createCompatibleSampleModel(int w, int h)(Code) | | Creates a SampleModel with the specified width and
height that has a data layout compatible with this
ColorModel . The returned SampleModel
will be an instance of ComponentSampleModel .
Parameters: w - The width of the SampleModel . Parameters: h - The height of the SampleModel . A SampleModel that is compatible with thisColorModel . See Also: java.awt.image.SampleModel See Also: See Also: java.awt.image.ComponentSampleModel See Also: |
createCompatibleWritableRaster | public WritableRaster createCompatibleWritableRaster(int w, int h)(Code) | | Creates a WritableRaster with the specified width
and height, that has a data layout (SampleModel )
compatible with this ColorModel . The returned
WritableRaster 's SampleModel will be
an instance of ComponentSampleModel .
Parameters: w - The width of the WritableRaster Parameters: h - The height of the WritableRaster A WritableRaster that is compatible withthis ColorModel . See Also: java.awt.image.WritableRaster See Also: java.awt.image.SampleModel |
getAlpha | public int getAlpha(int pixel)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getAlpha | public int getAlpha(Object inData)(Code) | | Returns the alpha component for the specified pixel, scaled
from 0 to 255. The pixel value is specified by an array of
data elements of type transferType passed in as an
object reference. If the ColorModel does not have
alpha, 255 is returned.
Parameters: inData - The pixel from which to get the alphacomponent, specified by an array of data elements of typetransferType . The alpha component for the specified pixel, as an int. throws: IllegalArgumentException - if inData isnull and the colorModel has alpha. throws: ClassCastException - If inData is not aprimitive array of type transferType and theColorModel has alpha. throws: ArrayIndexOutOfBoundsException - if inData is not large enough to hold a pixel value for thisColorModel and the ColorModel hasalpha. |
getBlue | public int getBlue(int pixel)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getBlue | public int getBlue(Object inData)(Code) | | Returns the blue color component for the specified pixel, scaled
from 0 to 255 in the default RGB ColorSpace , sRGB. A color
conversion is done if necessary. The pixel value
is specified by an array of data elements of type
transferType passed in as an object reference. The
returned value will be a non pre-multiplied value. If the alpha
is premultiplied, this method divides it out before returning
the value (if the alpha value is 0, the blue value will be 0).
Parameters: inData - The pixel from which to get the bluecolor component, specified by an array of data elements of typetransferType . The blue color component for the specified pixel, as anint. throws: ClassCastException - If inData is not aprimitive array of type transferType . throws: ArrayIndexOutOfBoundsException - if inData is not large enough to hold a pixel value for thisColorModel . |
getComponents | public int[] getComponents(int pixel, int[] components, int offset)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getComponents | public int[] getComponents(Object pixel, int[] components, int offset)(Code) | | Throws an IllegalArgumentException since
the pixel values cannot be placed into an int array.
|
getDataElement | public int getDataElement(int[] components, int offset)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getDataElements | public Object getDataElements(int rgb, Object pixel)(Code) | | Returns a data element array representation of a pixel in this
ColorModel , given an integer pixel representation
in the default RGB color model. This array can then be passed
to the setDataElements method of a
WritableRaster object. If the pixel
parameter is null, a new array is allocated.
If the colorSpaceType is of TYPE_GRAY then the rgb components
are converted to gray using appropriate weights
Parameters: rgb - An ARGB value packed into an int. Parameters: pixel - The float or double array representation of the pixel. throws: ClassCastException - If pixel is not null and is not a primitive array of type transferType . throws: ArrayIndexOutOfBoundsException - If pixel is not large enough to hold a pixel value for thisColorModel . |
getDataElements | public Object getDataElements(int[] components, int offset, Object obj)(Code) | | Returns a data element array representation of a pixel in this
ColorModel , given an array of unnormalized
color/alpha components. This array can then be passed to the
setDataElements method of a
WritableRaster object.
Parameters: components - An array of unnormalized color/alphacomponents. Parameters: offset - The integer offset into thecomponents array. Parameters: obj - The object in which to store the data element arrayrepresentation of the pixel. If obj variable isnull, a new array is allocated. If obj is notnull, it must be a primitive array of typetransferType . AnArrayIndexOutOfBoundsException is thrown ifobj is not large enough to hold a pixel value forthis ColorModel . The data element array representation of a pixel in this ColorModel . throws: IllegalArgumentException - If the components arrayis not large enough to hold all the color and alpha components(starting at offset). throws: ClassCastException - If obj is not null andis not a primitive array of type transferType . throws: ArrayIndexOutOfBoundsException - If obj isnot large enough to hold a pixel value for thisColorModel . |
getGreen | public int getGreen(int pixel)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getGreen | public int getGreen(Object inData)(Code) | | Returns the green color component for the specified pixel, scaled
from 0 to 255 in the default RGB ColorSpace , sRGB. A color
conversion is done if necessary. The pixel value
is specified by an array of data elements of type
transferType passed in as an object reference. The
returned value will be a non pre-multiplied value. If the alpha
is premultiplied, this method divides it out before returning
the value (if the alpha value is 0, the green value will be 0).
Parameters: inData - The pixel from which to get the greencolor component, specified by an array of data elements of typetransferType . The green color component for the specified pixel, as anint. throws: ClassCastException - If inData is not aprimitive array of type transferType . throws: ArrayIndexOutOfBoundsException - if inData is not large enough to hold a pixel value for thisColorModel . |
getRGB | public int getRGB(int pixel)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getRGB | public int getRGB(Object inData)(Code) | | Returns the color/alpha components for the specified pixel in
the default RGB color model format. A color conversion is done
if necessary. The pixel value is specified by an array of data
elements of type transferType passed in as an
object reference. The returned value is in a non
pre-multiplied format. If the alpha is premultiplied, this
method divides it out of the color components (if the alpha
value is 0, the color values will be 0).
Parameters: inData - The pixel from which to get thecolor/alpha components, specified by an array of data elementsof type transferType . The color/alpha components for the specified pixel, as an int. throws: ClassCastException - If inData is not aprimitive array of type transferType . throws: ArrayIndexOutOfBoundsException - if inData is not large enough to hold a pixel value for thisColorModel . |
getRed | public int getRed(int pixel)(Code) | | Throws an IllegalArgumentException , since pixel
values for this ColorModel are not conveniently
representable as a single int .
|
getRed | public int getRed(Object inData)(Code) | | Returns the red color component for the specified pixel, scaled
from 0 to 255 in the default RGB ColorSpace , sRGB. A color
conversion is done if necessary. The pixel value
is specified by an array of data elements of type
transferType passed in as an object reference. The
returned value will be a non pre-multiplied value. If the alpha
is premultiplied, this method divides it out before returning
the value (if the alpha value is 0, the red value will be 0).
Parameters: inData - The pixel from which to get the redcolor component, specified by an array of data elements of typetransferType . The red color component for the specified pixel, as anint. throws: ClassCastException - If inData is not aprimitive array of type transferType . throws: ArrayIndexOutOfBoundsException - if inData is not large enough to hold a pixel value for thisColorModel . |
isCompatibleRaster | public boolean isCompatibleRaster(Raster raster)(Code) | | Returns true if the supplied Raster 's
SampleModel is compatible with this
FloatDoubleColorModel .
Parameters: raster - a Raster to be checked for compatibility. |
isCompatibleSampleModel | public boolean isCompatibleSampleModel(SampleModel sm)(Code) | | Checks whether or not the specified SampleModel is
compatible with this ColorModel . A
SampleModel is compatible if it is an instance of
ComponentSampleModel , has the sample number of
bands as the total number of components (including alpha) in
the ColorSpace used by this
ColorModel , and has the same data type (float or
double) as this ColorModel .
Parameters: sm - The SampleModel to test for compatibility. true if the SampleModel iscompatible with this ColorModel ,false if it is not. See Also: java.awt.image.SampleModel See Also: java.awt.image.ComponentSampleModel |
toString | public String toString()(Code) | | Returns a String containing the values of all valid fields.
|
Methods inherited from java.awt.image.ComponentColorModel | public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)(Code)(Java Doc) public SampleModel createCompatibleSampleModel(int w, int h)(Code)(Java Doc) public WritableRaster createCompatibleWritableRaster(int w, int h)(Code)(Java Doc) public boolean equals(Object obj)(Code)(Java Doc) public int getAlpha(int pixel)(Code)(Java Doc) public int getAlpha(Object inData)(Code)(Java Doc) public WritableRaster getAlphaRaster(WritableRaster raster)(Code)(Java Doc) public int getBlue(int pixel)(Code)(Java Doc) public int getBlue(Object inData)(Code)(Java Doc) public int[] getComponents(int pixel, int[] components, int offset)(Code)(Java Doc) public int[] getComponents(Object pixel, int[] components, int offset)(Code)(Java Doc) public int getDataElement(int[] components, int offset)(Code)(Java Doc) public int getDataElement(float[] normComponents, int normOffset)(Code)(Java Doc) public Object getDataElements(int rgb, Object pixel)(Code)(Java Doc) public Object getDataElements(int[] components, int offset, Object obj)(Code)(Java Doc) public Object getDataElements(float[] normComponents, int normOffset, Object obj)(Code)(Java Doc) public int getGreen(int pixel)(Code)(Java Doc) public int getGreen(Object inData)(Code)(Java Doc) public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)(Code)(Java Doc) public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)(Code)(Java Doc) public int getRGB(int pixel)(Code)(Java Doc) public int getRGB(Object inData)(Code)(Java Doc) public int getRed(int pixel)(Code)(Java Doc) public int getRed(Object inData)(Code)(Java Doc) public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)(Code)(Java Doc) public boolean isCompatibleRaster(Raster raster)(Code)(Java Doc) public boolean isCompatibleSampleModel(SampleModel sm)(Code)(Java Doc)
|
Methods inherited from java.awt.image.ColorModel | public ColorModel coerceData(WritableRaster raster, boolean isAlphaPremultiplied)(Code)(Java Doc) public SampleModel createCompatibleSampleModel(int w, int h)(Code)(Java Doc) public WritableRaster createCompatibleWritableRaster(int w, int h)(Code)(Java Doc) public boolean equals(Object obj)(Code)(Java Doc) public void finalize()(Code)(Java Doc) abstract public int getAlpha(int pixel)(Code)(Java Doc) public int getAlpha(Object inData)(Code)(Java Doc) public WritableRaster getAlphaRaster(WritableRaster raster)(Code)(Java Doc) abstract public int getBlue(int pixel)(Code)(Java Doc) public int getBlue(Object inData)(Code)(Java Doc) final public ColorSpace getColorSpace()(Code)(Java Doc) public int getComponentSize(int componentIdx)(Code)(Java Doc) public int[] getComponentSize()(Code)(Java Doc) public int[] getComponents(int pixel, int[] components, int offset)(Code)(Java Doc) public int[] getComponents(Object pixel, int[] components, int offset)(Code)(Java Doc) public int getDataElement(int[] components, int offset)(Code)(Java Doc) public int getDataElement(float[] normComponents, int normOffset)(Code)(Java Doc) public Object getDataElements(int rgb, Object pixel)(Code)(Java Doc) public Object getDataElements(int[] components, int offset, Object obj)(Code)(Java Doc) public Object getDataElements(float[] normComponents, int normOffset, Object obj)(Code)(Java Doc) abstract public int getGreen(int pixel)(Code)(Java Doc) public int getGreen(Object inData)(Code)(Java Doc) public float[] getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)(Code)(Java Doc) public float[] getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)(Code)(Java Doc) public int getNumColorComponents()(Code)(Java Doc) public int getNumComponents()(Code)(Java Doc) public int getPixelSize()(Code)(Java Doc) public int getRGB(int pixel)(Code)(Java Doc) public int getRGB(Object inData)(Code)(Java Doc) public static ColorModel getRGBdefault()(Code)(Java Doc) abstract public int getRed(int pixel)(Code)(Java Doc) public int getRed(Object inData)(Code)(Java Doc) final public int getTransferType()(Code)(Java Doc) public int getTransparency()(Code)(Java Doc) public int[] getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)(Code)(Java Doc) final public boolean hasAlpha()(Code)(Java Doc) public int hashCode()(Code)(Java Doc) final public boolean isAlphaPremultiplied()(Code)(Java Doc) public boolean isCompatibleRaster(Raster raster)(Code)(Java Doc) public boolean isCompatibleSampleModel(SampleModel sm)(Code)(Java Doc) public String toString()(Code)(Java Doc)
|
|
|