java.awt.image
public class IndexColorModel extends ColorModel
IndexColorModel
supports a map of valid pixels, allowing
the representation of holes in the the color map. The valid map is
represented as a {@link BigInteger} where each bit indicates the validity
of the map entry with the same index.
IndexColorModel
supports anywhere from 1 to 16 bit index
values. The allowed transfer types are {@link DataBuffer#TYPE_BYTE} and
{@link DataBuffer#TYPE_USHORT}.
Constructor Summary | |
---|---|
IndexColorModel(int bits, int size, byte[] reds, byte[] greens, byte[] blues)
Creates a new indexed color model for size color elements
with no alpha component. | |
IndexColorModel(int bits, int size, byte[] reds, byte[] greens, byte[] blues, int trans)
Creates a new indexed color model for size color elements.
| |
IndexColorModel(int bits, int size, byte[] reds, byte[] greens, byte[] blues, byte[] alphas)
Creates a new indexed color model for size color elements
including alpha. | |
IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasAlpha)
Creates a new indexed color model using the color components in
cmap . | |
IndexColorModel(int bits, int size, byte[] cmap, int start, boolean hasAlpha, int trans)
Construct an IndexColorModel from an array of red, green, blue, and
optional alpha components. | |
IndexColorModel(int bits, int size, int[] cmap, int start, boolean hasAlpha, int trans, int transferType)
Construct an IndexColorModel from an array of size packed
colors. | |
IndexColorModel(int bits, int size, int[] cmap, int start, int transferType, BigInteger validBits)
Construct an IndexColorModel using a colormap with holes.
|
Method Summary | |
---|---|
BufferedImage | convertToIntDiscrete(Raster raster, boolean forceARGB)
Construct a {@link BufferedImage} with rgb pixel values from a
{@link Raster}.
|
SampleModel | createCompatibleSampleModel(int w, int h)
Creates a {@link SampleModel} that is compatible to this color model.
|
int | getAlpha(int pixel)
Returns the alpha component of the color in the lookup table for the
given pixel value. |
void | getAlphas(byte[] a)
Fills the supplied array with the alpha component of each color in the
lookup table. |
int | getBlue(int pixel)
Returns the blue component of the color in the lookup table for the
given pixel value.
|
void | getBlues(byte[] b)
Fills the supplied array with the blue component of each color in the
lookup table.
|
int | getGreen(int pixel)
Returns the green component of the color in the lookup table for the
given pixel value.
|
void | getGreens(byte[] g)
Fills the supplied array with the green component of each color in the
lookup table.
|
int | getMapSize()
Returns the size of the color lookup table.
|
int | getRed(int pixel)
Returns the red component of the color in the lookup table for the
given pixel value.
|
void | getReds(byte[] r)
Fills the supplied array with the red component of each color in the
lookup table.
|
int | getRGB(int pixel)
Get the RGB color value of the given pixel using the default
RGB color model.
|
void | getRGBs(int[] rgb)
Get the RGB color values of all pixels in the map using the default
RGB color model.
|
int | getTransparentPixel()
Get the index of the transparent color in this color model.
|
BigInteger | getValidPixels()
Returns a binary value ({@link BigInteger}) where each bit represents an
entry in the color lookup table. |
boolean | isValid(int pixel)
Return true if the lookup table contains valid data for
pixel , and false otherwise.
|
boolean | isValid()
Return true if all pixels are valid, false
otherwise.
|
size
color elements
with no alpha component. Each array must contain at least
size
elements. For each array, the i-th color is described
by reds[i], greens[i] and blues[i].
Parameters: bits the number of bits needed to represent size
colors. size the number of colors in the color map. reds the red component of all colors. greens the green component of all colors. blues the blue component of all colors.
Throws: IllegalArgumentException if bits
< 1 or
bits
> 16. NullPointerException if any of the arrays is null
. ArrayIndexOutOfBoundsException if size
is greater
than the length of the component arrays.
size
color elements.
Each array must contain at least size
elements. For each
array, the i-th color is described by reds[i], greens[i] and blues[i].
All the colors are opaque except for the transparent color.
Parameters: bits the number of bits needed to represent size
colors size the number of colors in the color map reds the red component of all colors greens the green component of all colors blues the blue component of all colors trans the index of the transparent color (use -1 for no
transparent color).
Throws: IllegalArgumentException if bits
< 1 or
bits
> 16. NullPointerException if any of the arrays is null
. ArrayIndexOutOfBoundsException if size
is greater
than the length of the component arrays.
size
color elements
including alpha. Each array must contain at least size
elements. For each array, the i-th color is described
by reds[i], greens[i], blues[i] and alphas[i].
Parameters: bits the number of bits needed to represent size
colors. size the number of colors in the color map. reds the red component of all colors. greens the green component of all colors. blues the blue component of all colors. alphas the alpha component of all colors (null
permitted).
Throws: IllegalArgumentException if bits
< 1 or
bits
> 16. NullPointerException if reds
, greens
or
blues
is null
. ArrayIndexOutOfBoundsException if size
is greater
than the length of the component arrays.
cmap
. If hasAlpha
is true
then
cmap
contains an alpha component after each of the red, green
and blue components.
Parameters: bits the number of bits needed to represent size
colors size the number of colors in the color map cmap packed color components start the offset of the first color component in cmap
hasAlpha cmap
has alpha values
Throws: IllegalArgumentException if bits < 1, bits > 16, or size
< 1. NullPointerException if cmap
is null
.
Parameters: bits the number of bits needed to represent size
colors size the number of colors in the color map cmap interleaved color components start the offset of the first color component in cmap
hasAlpha cmap
has alpha values trans the index of the transparent color
Throws: IllegalArgumentException if bits < 1, bits > 16, or size
< 1. NullPointerException if cmap
is null
.
size
packed
colors. Each int element contains 8-bit red, green, blue, and optional
alpha values packed in order. If hasAlpha is false, then all the colors
are opaque except for the transparent color.
Parameters: bits the number of bits needed to represent size
colors size the number of colors in the color map cmap packed color components start the offset of the first color component in cmap
hasAlpha cmap
has alpha values trans the index of the transparent color transferType {@link DataBuffer#TYPE_BYTE} or
{@link DataBuffer#TYPE_USHORT}.
Throws: IllegalArgumentException if bits < 1, bits > 16, or size
< 1. IllegalArgumentException if transferType
is something
other than {@link DataBuffer#TYPE_BYTE} or
{@link DataBuffer#TYPE_USHORT}.
Parameters: bits the number of bits needed to represent size
colors. size the number of colors in the color map. cmap packed color components. start the offset of the first color component in cmap
. transferType {@link DataBuffer#TYPE_BYTE} or
{@link DataBuffer#TYPE_USHORT}. validBits a map of the valid entries in cmap
.
Throws: IllegalArgumentException if bits < 1, bits > 16, or size < 1. IllegalArgumentException if transferType is something other than {@link DataBuffer#TYPE_BYTE} or {@link DataBuffer#TYPE_USHORT}.
Parameters: raster The source of pixel values. forceARGB True if type must be TYPE_INT_ARGB.
Returns: New BufferedImage with RBGA int pixel values.
Parameters: w the width of the sample model to create h the height of the sample model to create
Returns: a compatible sample model
Parameters: pixel the pixel lookup value.
Returns: The alpha component of the color in the lookup table (in the range 0 to 255).
Throws: ArrayIndexOutOfBoundsException if pixel
is negative.
Parameters: a an array that is at least as large as {@link #getMapSize()}.
Throws: NullPointerException if a
is null
. ArrayIndexOutOfBoundsException if a
has less
than {@link #getMapSize()} elements.
Parameters: pixel the pixel lookup value.
Returns: The blue component of the color in the lookup table.
Throws: ArrayIndexOutOfBoundsException if pixel
is negative.
Parameters: b an array that is at least as large as {@link #getMapSize()}.
Throws: NullPointerException if b
is null
. ArrayIndexOutOfBoundsException if b
has less
than {@link #getMapSize()} elements.
Parameters: pixel the pixel lookup value.
Returns: The green component of the color in the lookup table.
Throws: ArrayIndexOutOfBoundsException if pixel
is negative.
Parameters: g an array that is at least as large as {@link #getMapSize()}.
Throws: NullPointerException if g
is null
. ArrayIndexOutOfBoundsException if g
has less
than {@link #getMapSize()} elements.
Returns: The size of the color lookup table.
Parameters: pixel the pixel lookup value.
Returns: The red component of the color in the lookup table.
Throws: ArrayIndexOutOfBoundsException if pixel
is negative.
Parameters: r an array that is at least as large as {@link #getMapSize()}.
Throws: NullPointerException if r
is null
. ArrayIndexOutOfBoundsException if r
has less
than {@link #getMapSize()} elements.
Parameters: pixel the pixel lookup value.
Returns: The RGB color value.
Throws: ArrayIndexOutOfBoundsException if pixel
is negative.
Parameters: rgb The destination array.
Returns: The index of the color that is considered transparent, or -1 if there is no transparent color.
Returns: The binary value.
true
if the lookup table contains valid data for
pixel
, and false
otherwise.
Parameters: pixel the pixel value used to index the color lookup table.
Returns: true
if pixel
is valid,
false
otherwise.
true
if all pixels are valid, false
otherwise.
Returns: true
if all pixels are valid, false
otherwise.