|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectjava.awt.image.ColorModel
public abstract class ColorModel
A color model operates with colors in several formats:
| Field Summary | |
|---|---|
protected int |
pixel_bits
|
protected int |
transferType
|
| Fields inherited from interface java.awt.Transparency |
|---|
BITMASK, OPAQUE, TRANSLUCENT |
| Constructor Summary | |
|---|---|
|
ColorModel(int bits)
Constructs the default color model. |
protected |
ColorModel(int pixel_bits,
int[] bits,
java.awt.color.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)
equals compares this object to another object. |
void |
finalize()
finalize may be called by the memory management of the virtual machine when it determined that this instance's memory is unreachable and can be reclaimed. |
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)
|
java.awt.color.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 |
getComponentSize(int componentIdx)
|
int |
getDataElement(float[] components,
int offset)
Converts the normalized component samples from an array to a pixel value. |
int |
getDataElement(int[] components,
int offset)
Converts the unnormalized component samples from an array to a pixel value. |
Object |
getDataElements(float[] components,
int offset,
Object obj)
Converts the normalized component samples from an array to an array of TransferType values. |
Object |
getDataElements(int[] components,
int offset,
Object obj)
|
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. |
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()
Return the transparency type. |
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()
toString creates a printable string that represents this object for debugging purposes. |
| Methods inherited from class java.lang.Object |
|---|
clone, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
protected int pixel_bits
protected int transferType
| Constructor Detail |
|---|
public ColorModel(int bits)
getRGBdefault of this
class.
bits - the number of bits wide used for bit size of pixel values
protected ColorModel(int pixel_bits,
int[] bits,
java.awt.color.ColorSpace cspace,
boolean hasAlpha,
boolean isAlphaPremultiplied,
int transparency,
int transferType)
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.| Method Detail |
|---|
public void finalize()
ObjectNOTE: The use of finalize() is strongly discouraged for realtime or safety-critical code. This method should only be used for debugging purposes. If used as a last resort to reclaim non-memory resouces, finalize() should indicate the resource leak with a loud error message.
There is no guarantee that finalize() will be called, the memory management may decide not to reclaim this object's memory or to delay the call to finalize() to an unspecified point in time. It is therefore recommended never to use the finalize method to release any resources (files, network connections, non-Java memory, etc.) since releasing of these resource may be delayed perpetually.
The order of finalization is not specified, i.e., the finalize method of any two objects that become unreachable may be called in an arbitrary order. It therefore has to be assumed that when finalize() is called on an object, that the finalize() method of any object that is only reachable through this object() has been called as well or is called simultaneously by another thread.
The presence of a finalize-method in any sub-class of Object causes the reclamation of the memory of this object to be delayed until the finalize() method has been executed. The finalize() method is typically executed by the finalizer thread (that may run at a low priority) or by a call to Runtime.runFinalization().
Any code sequence that creates instances of a class that defines a finalize() method must therefore ensure that sufficient CPU time is allocated to the finalizer thread or that Runtime.runFinalization() is called regularly such that the finalize() methods can be executed and the object's memory can be reclaimed.
The finalize method itself should never block or run for long times since it would otherwise block the finalizer thread or the thread that called Runtime.runFinalization() and prevent the execution other finalize() method and consequently prevent the reclamation of these object's memory.
For objects that are allocated in a javax.realtime.ScopedMemory, the finalize() methods will be called when this scoped memory is exited by the last thread. Unlike HeapMemory, which is controlled by the garbage collector, ScopedMemory provides a defined execution point for the finalize() mehods and it is therefore safer to use finalize() here.
finalize in class Objectpublic static ColorModel getRGBdefault()
DirectColorModel.
public final boolean hasAlpha()
public final boolean isAlphaPremultiplied()
public int getPixelSize()
public int getComponentSize(int componentIdx)
public int[] getComponentSize()
public int getTransparency()
Transparency
getTransparency in interface TransparencyTransparency.OPAQUE, Transparency.BITMASK, or Transparency.TRANSLUCENT.public int getNumComponents()
public int getNumColorComponents()
public abstract int getRed(int pixel)
pixel - pixel value that will be interpreted according to
the color model, (assumed alpha premultiplied if color model says
so.)
public abstract int getGreen(int pixel)
getRed(int)public abstract int getBlue(int pixel)
getRed(int)public abstract int getAlpha(int pixel)
pixel - pixel value that will be interpreted according to
the color model.
public int getRGB(int pixel)
pixel - pixel value that will be interpreted according to
the color model.
public int getRed(Object inData)
inData - array of transferType containing a single pixel. The
pixel should be encoded in the natural way of the color model.public int getGreen(Object inData)
getRed(Object)public int getBlue(Object inData)
getRed(Object)public int getAlpha(Object inData)
getRed(Object)public int getRGB(Object inData)
This method performs the inverse function of
getDataElements(int rgb, Object pixel).
I.e. (rgb == cm.getRGB(cm.getDataElements(rgb,
null))).
inData - array of transferType containing a single pixel. The
pixel should be encoded in the natural way of the color model.
getDataElements(int, Object)
public Object getDataElements(int rgb,
Object pixel)
This method performs the inverse function of
getRGB(Object inData).
Outline of conversion process:
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.
getRGB(Object)
public int[] getComponents(int pixel,
int[] components,
int offset)
pixel - pixel value encoded according to the color model.
public int[] getComponents(Object pixel,
int[] components,
int offset)
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 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 allocatedoffset - index into the components array at which the result
will be stored
public int[] getUnnormalizedComponents(float[] normComponents,
int normOffset,
int[] components,
int offset)
public float[] getNormalizedComponents(int[] components,
int offset,
float[] normComponents,
int normOffset)
public float[] getNormalizedComponents(Object pixel,
float[] normComponents,
int normOffset)
public int getDataElement(int[] components,
int offset)
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().
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.
public int getDataElement(float[] components,
int offset)
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.
public Object getDataElements(int[] components,
int offset,
Object obj)
public Object getDataElements(float[] components,
int offset,
Object obj)
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.
ArrayIndexOutOfBoundsException
ClassCastExceptionpublic boolean equals(Object obj)
ObjectEquals must be symmetric (a.equals(b) == b.equals(a)), reflexive (a.equals(a)==true) and transitive (a.equals(b) && b.equals(c) IMPLIES (a.equals(c))) and not change over time (a.equals(b) == a.equals(b)). a.equals(null) should always return false.
If a.equals(b) is true for two objects a and b, then a.hashCode()==b.hashCode() must hold.
The default implementation of equals returns this==other.
equals in class Objectobj - the other object.
public final java.awt.color.ColorSpace getColorSpace()
public ColorModel coerceData(WritableRaster raster,
boolean isAlphaPremultiplied)
protected void coerceDataWorker(WritableRaster raster,
boolean isAlphaPremultiplied)
public boolean isCompatibleRaster(Raster raster)
raster - The Raster to test.
public WritableRaster createCompatibleWritableRaster(int w,
int h)
public SampleModel createCompatibleSampleModel(int w,
int h)
public boolean isCompatibleSampleModel(SampleModel sm)
public final int getTransferType()
public WritableRaster getAlphaRaster(WritableRaster raster)
public String toString()
ObjectThe default implementation returns getClass().getName() + '@' + Integer.toHexString(hashCode()).
toString in class Object
|
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||