java.awt.image
public abstract class ColorModel extends Object implements Transparency
Field Summary | |
---|---|
protected int | pixel_bits |
protected int | transferType |
Constructor Summary | |
---|---|
ColorModel(int bits)
Constructs the default color model. | |
protected | ColorModel(int pixel_bits, int[] bits, ColorSpace cspace, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)
Constructs a ColorModel that translates pixel values to
color/alpha components.
|
Method Summary | |
---|---|
ColorModel | coerceData(WritableRaster raster, boolean isAlphaPremultiplied) |
protected void | coerceDataWorker(WritableRaster raster, boolean isAlphaPremultiplied) |
SampleModel | createCompatibleSampleModel(int w, int h) |
WritableRaster | createCompatibleWritableRaster(int w, int h) |
boolean | equals(Object obj) |
void | finalize() |
abstract int | getAlpha(int pixel)
Extract alpha int sample from pixel value, scaled to [0, 255].
|
int | getAlpha(Object inData) |
WritableRaster | getAlphaRaster(WritableRaster raster)
Subclasses must override this method if it is possible for the
color model to have an alpha channel.
|
abstract int | getBlue(int pixel)
Converts pixel value to sRGB and extract blue int sample
scaled to range [0, 255].
|
int | getBlue(Object inData) |
ColorSpace | getColorSpace() |
int[] | getComponents(int pixel, int[] components, int offset)
Fills an array with the unnormalized component samples from a
pixel value. |
int[] | getComponents(Object pixel, int[] components, int offset)
Fills an array with the unnormalized component samples from an
array of transferType containing a single pixel. |
int | getComponentSize(int componentIdx) |
int[] | getComponentSize() |
int | getDataElement(int[] components, int offset)
Converts the unnormalized component samples from an array to a
pixel value. |
int | getDataElement(float[] components, int offset)
Converts the normalized component samples from an array to a pixel
value. |
Object | getDataElements(int rgb, Object pixel)
Converts an sRGB pixel int value to an array containing a
single pixel of the color space of the color model.
|
Object | getDataElements(int[] components, int offset, Object obj) |
Object | getDataElements(float[] components, int offset, Object obj)
Converts the normalized component samples from an array to an array of
TransferType values. |
abstract int | getGreen(int pixel)
Converts pixel value to sRGB and extract green int sample
scaled to range [0, 255].
|
int | getGreen(Object inData) |
float[] | getNormalizedComponents(int[] components, int offset, float[] normComponents, int normOffset)
Convert unnormalized components to normalized components. |
float[] | getNormalizedComponents(Object pixel, float[] normComponents, int normOffset)
Convert unnormalized components to normalized components.
|
int | getNumColorComponents() |
int | getNumComponents() |
int | getPixelSize()
Get get number of bits wide used for the bit size of pixel values |
abstract int | getRed(int pixel)
Converts pixel value to sRGB and extract red int sample scaled
to range [0, 255].
|
int | getRed(Object inData)
Converts pixel in the given array to sRGB and extract blue int
sample scaled to range [0-255].
|
int | getRGB(int pixel)
Converts a pixel int value of the color space of the color
model to a sRGB pixel int value.
|
int | getRGB(Object inData)
Converts a pixel in the given array of the color space of the
color model to an sRGB pixel int value.
|
static ColorModel | getRGBdefault()
Returns the default color model which in Sun's case is an instance
of DirectColorModel . |
int | getTransferType() |
int | getTransparency() |
int[] | getUnnormalizedComponents(float[] normComponents, int normOffset, int[] components, int offset)
Convert normalized components to unnormalized components. |
boolean | hasAlpha() |
boolean | isAlphaPremultiplied() |
boolean | isCompatibleRaster(Raster raster)
Checks if the given raster has a compatible data-layout (SampleModel). |
boolean | isCompatibleSampleModel(SampleModel sm) |
String | toString() |
getRGBdefault
of this
class.Parameters: bits the number of bits wide used for bit size of pixel values
Throws: IllegalArgumentException If the length of the bit array is less than the number of color or alpha components in this ColorModel, or if the transparency is not a valid value, or if the sum of the number of bits in bits is less than 1 or if any of the elements in bits is less than 0.
Parameters: pixel pixel value that will be interpreted according to the color model.
Returns: alpha sample, scaled to range [0, 255].
See Also: getRed
Returns: null, as per JDK 1.3 doc. Subclasses will only return null if no alpha raster exists.
See Also: ColorModel
See Also: getRed
Parameters: pixel pixel value encoded according to the color model.
Returns: arrays of unnormalized component samples of single pixel. The scale and multiplication state of the samples are according to the color model. Each component sample is stored as a separate element in the array.
Parameters: pixel an array of transferType containing a single pixel. The pixel should be encoded in the natural way of the color model. If this argument is not an array, as expected, a {@link ClassCastException} will be thrown. components an array that will be filled with the color component of the pixel. If this is null, a new array will be allocated offset index into the components array at which the result will be stored
Returns: arrays of unnormalized component samples of single pixel. The scale and multiplication state of the samples are according to the color model. Each component sample is stored as a separate element in the array.
getComponents(int pixel, int[] components,
int offset)
. I.e.
(pixel == cm.getDataElement(cm.getComponents(pixel, null,
0), 0))
.
This method is overriden in subclasses since this abstract class throws
UnsupportedOperationException().
Parameters: components Array of unnormalized component samples of single pixel. The scale and multiplication state of the samples are according to the color model. Each component sample is stored as a separate element in the array. offset Position of the first value of the pixel in components.
Returns: pixel value encoded according to the color model.
Parameters: components Array of normalized component samples of single pixel. The scale and multiplication state of the samples are according to the color model. Each component sample is stored as a separate element in the array. offset Position of the first value of the pixel in components.
Returns: pixel value encoded according to the color model.
Since: 1.4
This method performs the inverse function of
getRGB(Object inData)
.
Outline of conversion process:
Parameters: rgb The color to be converted to dataElements. A pixel in sRGB color space, encoded in default 0xAARRGGBB format, assumed not alpha premultiplied. pixel to avoid needless creation of arrays, an array to use to return the pixel can be given. If null, a suitable array will be created.
Returns: An array of transferType values representing the color, in the color model format. The color model defines whether the
See Also: getRGB
Parameters: components Array of normalized component samples of single pixel. The scale and multiplication state of the samples are according to the color model. Each component sample is stored as a separate element in the array. offset Position of the first value of the pixel in components. obj Array of TransferType or null.
Returns: pixel value encoded according to the color model.
Throws: ArrayIndexOutOfBoundsException ClassCastException
Since: 1.4
See Also: ColorModel
See Also: getRed
Since: 1.4
Parameters: pixel pixel value that will be interpreted according to the color model, (assumed alpha premultiplied if color model says so.)
Returns: red sample scaled to range [0, 255], from default color space sRGB, alpha non-premultiplied.
Parameters: inData array of transferType containing a single pixel. The pixel should be encoded in the natural way of the color model.
Parameters: pixel pixel value that will be interpreted according to the color model.
Returns: a pixel in sRGB color space, encoded in default 0xAARRGGBB format.
This method performs the inverse function of
getDataElements(int rgb, Object pixel)
.
I.e. (rgb == cm.getRGB(cm.getDataElements(rgb,
null)))
.
Parameters: inData array of transferType containing a single pixel. The pixel should be encoded in the natural way of the color model.
Returns: a pixel in sRGB color space, encoded in default 0xAARRGGBB format.
See Also: ColorModel
DirectColorModel
.Parameters: raster The Raster to test.
Returns: true if raster is compatible.