Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## java.awt.image
Class ComponentColorModel

    java.lang.Object
      |
      +--java.awt.image.ColorModel
            |
            +--java.awt.image.ComponentColorModel

All Implemented Interfaces:
  Transparency

public class ComponentColorModel
extends ColorModel

A `ColorModel` class that works with pixel values that represent color and alpha information as separate samples and that store each sample in a separate data element. 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.

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_BYTE`, `DataBuffer.TYPE_USHORT`, and `DataBuffer.TYPE_INT`.

The translation from pixel values to color/alpha components for display or processing purposes is a one-to-one correspondence of samples to components. The number of bits in a color or alpha sample of a pixel value might not be the same as the number of bits for the corresponding color or alpha component passed to the `ComponentColorModel` constructor. This class assumes that the least significant n bits of a sample value hold the component value, where n is the number of significant bits for the component passed to the constructor. It also assumes that any higher-order bits in a sample value are zero.

Methods that use a single int pixel representation throw an `IllegalArgumentException`, unless the number of components for the `ComponentColorModel` is one--in other words, a single color component and no alpha.

A `ComponentColorModel` can be used in conjunction with a `ComponentSampleModel`, a `BandedSampleModel`, or a `PixelInterleavedSampleModel` to construct a `BufferedImage`.

See Also:
  `ColorModel`, `ColorSpace`, `ComponentSampleModel`, `BandedSampleModel`, `PixelInterleavedSampleModel`, `BufferedImage`

Fields inherited from class java.awt.image.ColorModel
`pixel_bits, transferType`

Fields inherited from interface java.awt.Transparency
`BITMASK, OPAQUE, TRANSLUCENT`

Constructor Summary
`ComponentColorModel(ColorSpace colorSpace, int[] bits, boolean hasAlpha, boolean isAlphaPremultiplied, int transparency, int transferType)` Constructs a `ComponentColorModel` from the specified parameters.

Method Summary
`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`.
`SampleModel` | `createCompatibleSampleModel(int w, int h)` Creates a `SampleModel` with the specified width and height, that has a data layout compatible with this `ColorModel`.
`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`.
`boolean` | `equals(Object obj)` Compares this color model with another for equality.
`int` | `getAlpha(int pixel)` Returns the alpha component for the specified pixel, scaled from 0 to 255.
`int` | `getAlpha(Object inData)` Returns the alpha component for the specified pixel, scaled from 0 to 255.
`WritableRaster` | `getAlphaRaster(WritableRaster raster)` Returns a `Raster` representing the alpha channel of an image, extracted from the input `Raster`.
`int` | `getBlue(int pixel)` Returns the blue color component for the specified pixel, scaled from 0 to 255 in the default RGB ColorSpace, sRGB.
`int` | `getBlue(Object inData)` Returns the blue color component for the specified pixel, scaled from 0 to 255 in the default RGB `ColorSpace`, sRGB.
`int[]` | `getComponents(int pixel, int[] components, int offset)` Returns an array of unnormalized color/alpha components given a pixel in this `ColorModel`.
`int[]` | `getComponents(Object pixel, int[] components, int offset)` Returns an array of unnormalized color/alpha components given a pixel in this `ColorModel`.
`int` | `getDataElement(int[] components, int offset)` Returns a pixel value represented as an int in this `ColorModel`, given an array of unnormalized color/alpha components.
`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.
`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.
`int` | `getGreen(int pixel)` Returns the green color component for the specified pixel, scaled from 0 to 255 in the default RGB ColorSpace, sRGB.
`int` | `getGreen(Object inData)` Returns the green color component for the specified pixel, scaled from 0 to 255 in the default RGB `ColorSpace`, sRGB.
`int` | `getRed(int pixel)` Returns the red color component for the specified pixel, scaled from 0 to 255 in the default RGB ColorSpace, sRGB.
`int` | `getRed(Object inData)` Returns the red color component for the specified pixel, scaled from 0 to 255 in the default RGB ColorSpace, sRGB.
`int` | `getRGB(int pixel)` Returns the color/alpha components of the pixel in the default RGB color model format.
`int` | `getRGB(Object inData)` Returns the color/alpha components for the specified pixel in the default RGB color model format.
`boolean` | `isCompatibleRaster(Raster raster)` Returns true if `raster` is compatible with this `ColorModel`; false if it is not.
`boolean` | `isCompatibleSampleModel(SampleModel sm)` Checks whether or not the specified `SampleModel` is compatible with this `ColorModel`.

Methods inherited from class java.awt.image.ColorModel
`finalize, getColorSpace, getComponentSize, getComponentSize, getNormalizedComponents, getNumColorComponents, getNumComponents, getPixelSize, getRGBdefault, getTransferType, getTransparency, getUnnormalizedComponents, hasAlpha, hashCode, isAlphaPremultiplied, toString`

Methods inherited from class java.lang.Object
`clone, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ComponentColorModel

    public ComponentColorModel(ColorSpace colorSpace,
                               int[] bits,
                               boolean hasAlpha,
                               boolean isAlphaPremultiplied,
                               int transparency,
                               int transferType)

  Constructs a `ComponentColorModel` from the specified parameters. Color components will be in the specified `ColorSpace`. The `bits` array specifies the number of significant bits per color and alpha component. Its length should be the number of components in the `ColorSpace` if there is no alpha information in the pixel values, or one more than this number if there is alpha information. An `IllegalArgumentException` is thrown if the length of the array does not match the number of components. `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 acceptable `transparency` values are `OPAQUE`, `BITMASK` or `TRANSLUCENT`. The `transferType` is the type of primitive array used to represent pixel values. Note that the `bits` array contains the number of significant bits per color/alpha component after the translation from pixel values.
  Parameters:
    `colorSpace` - The `ColorSpace` associated with this color model.
    `bits` - The number of significant bits per component.
    `hasAlpha` - If true, this color model supports alpha.
    `isAlphaPremultiplied` - If true, alpha is premultiplied.
    `transparency` - Specifies what alpha values can be represented by this color model.
    `transferType` - Specifies the type of primitive array used to represent pixel values.
  Throws:
    `IllegalArgumentException` - If the length of the `bits` array does not match the number of components.
  See Also:
    `ColorSpace`, `Transparency`

Method Detail

### getRed

    public int getRed(int pixel)

  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 as an int. 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).
  Overrides:
    `getRed` in class `ColorModel`
  Parameters:
    `pixel` - The pixel from which you want to get the red color component.
  Returns:
    The red color component for the specified pixel, as an int.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.

### getGreen

    public int getGreen(int pixel)

  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 as an int. 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).
  Overrides:
    `getGreen` in class `ColorModel`
  Parameters:
    `pixel` - The pixel from which you want to get the green color component.
  Returns:
    The green color component for the specified pixel, as an int.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.

### getBlue

    public int getBlue(int pixel)

  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 as an int. 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).
  Overrides:
    `getBlue` in class `ColorModel`
  Parameters:
    `pixel` - The pixel from which you want to get the blue color component.
  Returns:
    The blue color component for the specified pixel, as an int.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.

### getAlpha

    public int getAlpha(int pixel)

  Returns the alpha component for the specified pixel, scaled from 0 to 255. The pixel value is specified as an int.
  Overrides:
    `getAlpha` in class `ColorModel`
  Parameters:
    `pixel` - The pixel from which you want to get the alpha component.
  Returns:
    The alpha component for the specified pixel, as an int.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.

### getRGB

    public int getRGB(int pixel)

  Returns the color/alpha components of the pixel in the default RGB color model format. A color conversion is done if necessary. The returned value will be 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).
  Overrides:
    `getRGB` in class `ColorModel`
  Parameters:
    `pixel` - The pixel from which you want to get the color/alpha components.
  Returns:
    The color/alpha components for the specified pixel, as an int.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.

### getRed

    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. 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). Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getRed` in class `ColorModel`
  Parameters:
    `inData` - The pixel from which you want to get the red color component, specified by an array of data elements of type `transferType`.
  Returns:
    The red color component for the specified pixel, as an int.
  Throws:
    `ClassCastException` - If `inData` is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - if `inData` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.

### getGreen

    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. 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 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). Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getGreen` in class `ColorModel`
  Parameters:
    `inData` - The pixel from which you want to get the green color component, specified by an array of data elements of type `transferType`.
  Returns:
    The green color component for the specified pixel, as an int.
  Throws:
    `ClassCastException` - If `inData` is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - if `inData` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.

### getBlue

    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. 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 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). Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getBlue` in class `ColorModel`
  Parameters:
    `inData` - The pixel from which you want to get the blue color component, specified by an array of data elements of type `transferType`.
  Returns:
    The blue color component for the specified pixel, as an int.
  Throws:
    `ClassCastException` - If `inData` is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - if `inData` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.

### getAlpha

    public int getAlpha(Object inData)

  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. Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getAlpha` in class `ColorModel`
  Parameters:
    `inData` - The pixel from which you want to get the alpha component, specified by an array of data elements of type `transferType`.
  Returns:
    The alpha component for the specified pixel, as an int.
  Throws:
    `ClassCastException` - If `inData` is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - if `inData` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.

### getRGB

    public int getRGB(Object inData)

  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). Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getRGB` in class `ColorModel`
  Parameters:
    `inData` - The pixel from which you want to get the color/alpha components, specified by an array of data elements of type `transferType`.
  Returns:
    The color/alpha components for the specified pixel, as an int.
  Throws:
    `ClassCastException` - If `inData` is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - if `inData` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.
  See Also:
    `ColorModel.getRGBdefault()`

### getDataElements

    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. 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. Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getDataElements` in class `ColorModel`
  Parameters:
    `rgb` -
    `pixel` - The integer representation of the pixel.
  Throws:
    `ClassCastException` - If `pixel` is not null and is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - If `pixel` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.
  See Also:
    `WritableRaster.setDataElements(int, int, java.lang.Object)`, `SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)`

### getComponents

    public int[] getComponents(int pixel,
                               int[] components,
                               int offset)

  Returns an array of unnormalized color/alpha components given a pixel in this `ColorModel`. Color/alpha components are stored in the `components` array starting at `offset` (even if the array is allocated by this method).
  Overrides:
    `getComponents` in class `ColorModel`
  Parameters:
    `pixel` - The pixel value specified as an integer.
    `components` - An integer array in which to store the unnormalized color/alpha components. If the `components` array is null, a new array is allocated.
    `offset` - An offset into the `components` array.
  Returns:
    The components array.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.
    `ArrayIndexOutOfBoundsException` - If the `components` array is not null and is not large enough to hold all the color and alpha components (starting at offset).

### getComponents

    public int[] getComponents(Object pixel,
                               int[] components,
                               int offset)

  Returns an array of unnormalized color/alpha components given a pixel in this `ColorModel`. The pixel value is specified by an array of data elements of type `transferType` passed in as an object reference. Color/alpha components are stored in the `components` array starting at `offset` (even if the array is allocated by this method). Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then this method might throw an exception if they use an unsupported `transferType`.
  Overrides:
    `getComponents` in class `ColorModel`
  Parameters:
    `pixel` - A pixel value specified by an array of data elements of type `transferType`.
    `components` - An integer array in which to store the unnormalized color/alpha components. If the `components` array is null, a new array is allocated.
    `offset` - An offset into the `components` array.
  Returns:
    The `components` array.
  Throws:
    `UnsupportedOperationException` - in some cases iff the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.
    `ClassCastException` - If `pixel` is not a primitive array of type `transferType`.
    `IllegalArgumentException` - If the `components` array is not null and is not large enough to hold all the color and alpha components (starting at offset), or if `pixel` is not large enough to hold a pixel value for this ColorModel.

### getDataElement

    public int getDataElement(int[] components,
                              int offset)

  Returns a pixel value represented as an int in this `ColorModel`, given an array of unnormalized color/alpha components.
  Overrides:
    `getDataElement` in class `ColorModel`
  Parameters:
    `components` - An array of unnormalized color/alpha components.
    `offset` - An offset into the `components` array.
  Returns:
    A pixel value represented as an int.
  Throws:
    `IllegalArgumentException` - If there is more than one component in this `ColorModel`.

### getDataElements

    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. This array can then be passed to the `setDataElements` method of a `WritableRaster` object.
  Overrides:
    `getDataElements` in class `ColorModel`
  Parameters:
    `components` - An array of unnormalized color/alpha components.
    `offset` - The integer offset into the `components` array.
    `obj` - The object in which to store the data element array representation of the pixel. If `obj` variable is null, a new array is allocated. If `obj` is not null, it must be a primitive array of type `transferType`. An `ArrayIndexOutOfBoundsException` is thrown if `obj` is not large enough to hold a pixel value for this `ColorModel`. Since `ComponentColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Returns:
    The data element array representation of a pixel in this `ColorModel`.
  Throws:
    `IllegalArgumentException` - If the components array is not large enough to hold all the color and alpha components (starting at offset).
    `ClassCastException` - If `obj` is not null and is not a primitive array of type `transferType`.
    `ArrayIndexOutOfBoundsException` - If `obj` is not large enough to hold a pixel value for this `ColorModel`.
    `UnsupportedOperationException` - If the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.
  See Also:
    `WritableRaster.setDataElements(int, int, java.lang.Object)`, `SampleModel.setDataElements(int, int, java.lang.Object, java.awt.image.DataBuffer)`

### coerceData

    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`. 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 this `ColorModel` with the `isAlphaPremultiplied` flag set appropriately. Since `ColorModel` can be subclassed, subclasses inherit the implementation of this method and if they don't override it then they throw an exception if they use an unsupported `transferType`.
  Overrides:
    `coerceData` in class `ColorModel`
  Throws:
    `NullPointerException` - if `raster` is `null` and data coercion is required.
    `UnsupportedOperationException` - if the transfer type of this `ComponentColorModel` is not one of the supported transfer types: `DataBuffer.TYPE_BYTE`, `DataBuffer.TYPE_USHORT`, or `DataBuffer.TYPE_INT`.

### isCompatibleRaster

    public boolean isCompatibleRaster(Raster raster)

  Returns true if `raster` is compatible with this `ColorModel`; false if it is not.
  Overrides:
    `isCompatibleRaster` in class `ColorModel`
  Parameters:
    `raster` - The `Raster` object to test for compatibility.
  Returns:
    `true` if `raster` is compatible with this `ColorModel`, `false` if it is not.

### createCompatibleWritableRaster

    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`.
  Overrides:
    `createCompatibleWritableRaster` in class `ColorModel`
  Parameters:
    `w` - The width of the `WritableRaster` you want to create.
    `h` - The height of the `WritableRaster` you want to create.
  Returns:
    A `WritableRaster` that is compatible with this `ColorModel`.
  See Also:
    `WritableRaster`, `SampleModel`

### createCompatibleSampleModel

    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`.
  Overrides:
    `createCompatibleSampleModel` in class `ColorModel`
  Parameters:
    `w` - The width of the `SampleModel` you want to create.
    `h` - The height of the `SampleModel` you want to create.
  Returns:
    A `SampleModel` that is compatible with this `ColorModel`.
  See Also:
    `SampleModel`

### isCompatibleSampleModel

    public boolean isCompatibleSampleModel(SampleModel sm)

  Checks whether or not the specified `SampleModel` is compatible with this `ColorModel`.
  Overrides:
    `isCompatibleSampleModel` in class `ColorModel`
  Parameters:
    `sm` - The `SampleModel` to test for compatibility.
  Returns:
    `true` if the `SampleModel` is compatible with this `ColorModel`, `false` if it is not.
  See Also:
    `SampleModel`

### getAlphaRaster

    public WritableRaster getAlphaRaster(WritableRaster raster)

  Returns a `Raster` representing the alpha channel of an image, extracted from the input `Raster`. This method assumes that `Raster` objects associated with this `ColorModel` store the alpha band, if present, as the last band of image data. Returns null if there is no separate spatial alpha channel associated with this `ColorModel`. This method creates a new `Raster`, but will share the data array.
  Overrides:
    `getAlphaRaster` in class `ColorModel`
  Parameters:
    `raster` - The `WritableRaster` from which to extract the alpha channel.
  Returns:
    A `WritableRaster` containing the image's alpha channel.

### equals

    public boolean equals(Object obj)

  Compares this color model with another for equality.
  Overrides:
    `equals` in class `ColorModel`
  Parameters:
    `obj` - The object to compare with this color model.
  Returns:
    `true` if the color model objects are equal, `false` if they are not.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| JavaTM 2 Platform Std. Ed. v1.3.1
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature
For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.

Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries.
Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.