net.sourceforge.jiu.data
Class Palette
java.lang.Object
net.sourceforge.jiu.data.Palette
- RGBIndex
public class Palette
extends java.lang.Object
This class represents a palette, a list of RGB colors.
An RGB color here has three int values for its red, green and blue
intensity.
Each intensity value must be larger than or equal to zero and
smaller than or equal to the maximum intensity value that can be
given to the constructor
Palette(int,int)
.
This maximum value is typically 255.
Note that the number of entries in a palette is restricted only
by the element index type
int
so that palettes with
more than 256 entries are no problem.
When accessing (reading or writing) samples of this palette, use
the constants
RGBIndex.INDEX_RED
,
RGBIndex.INDEX_GREEN
and
RGBIndex.INDEX_BLUE
of
this class to define a color channel.
Palette(int numEntries) - Create a palette with the given number of entries and a maximum value
of
255 .
|
Palette(int numEntries, int maxValue) - Create a palette with the given number of entries and a maximum value
for each sample.
|
Object | clone() - Creates a copy of this palette, allocating a new Palette object
and copying each RGB triplet to the new palette.
|
long | getAllocatedMemory() - Returns the amount of memory in bytes allocated for this palette.
|
int | getMaxValue() - Returns the maximum value allowed for a sample.
|
int | getNumEntries() - Returns the number of entries in this palette.
|
int | getSample(int channelIndex, int entryIndex) - Returns one of the samples of this palette.
|
int[] | getSamples(int channelIndex) - Returns all samples of one channel as an int array.
|
boolean | isBlackAndWhite() - Checks if all entries of this palette are either black or white.
|
boolean | isGray() - Checks if this palette is gray, i.e., checks if all entries are
gray.
|
void | put(int entryIndex, int red, int green, int blue)
|
void | putSample(int channelIndex, int entryIndex, int newValue) - Sets one sample of one color entry in the palette to a new value.
|
maxValue
private int maxValue
numEntries
private int numEntries
Palette
public Palette(int numEntries)
Create a palette with the given number of entries and a maximum value
of 255
.
numEntries
- the number of entries to be accessible in this palette
Palette
public Palette(int numEntries,
int maxValue)
Create a palette with the given number of entries and a maximum value
for each sample.
numEntries
- the number of entries to be accessible in this palettemaxValue
- the maximum value to be allowed for each sample
clone
public Object clone()
Creates a copy of this palette, allocating a new Palette object
and copying each RGB triplet to the new palette.
Then returns the new palette.
Thus, a "deep" copy of this Palette object is created,
not a "shallow" one.
getAllocatedMemory
public long getAllocatedMemory()
Returns the amount of memory in bytes allocated for this palette.
getMaxValue
public int getMaxValue()
Returns the maximum value allowed for a sample.
getNumEntries
public int getNumEntries()
Returns the number of entries in this palette.
- the number of entries in this palette
getSample
public int getSample(int channelIndex,
int entryIndex)
Returns one of the samples of this palette.
getSamples
public int[] getSamples(int channelIndex)
Returns all samples of one channel as an int array.
channelIndex
- index of the channel, one of the RGBIndex
constants
isBlackAndWhite
public boolean isBlackAndWhite()
Checks if all entries of this palette are either black or white.
An entry is black if all three intensitites (red, green and blue) are
0
, it is white if they are all equal to
getMaxValue()
.
No particular order of entries (e.g. first color black, second white)
is demanded and no specific number of entries (e.g. 2).
This means that a palette is black and white if it contains ten entries
that are all black.
- if the palette contains only the colors black and white
isGray
public boolean isGray()
Checks if this palette is gray, i.e., checks if all entries are
gray. This is the case if for all entries red, green and blue
have the same intensity.
- if the palette contains only shades of gray
put
public void put(int entryIndex,
int red,
int green,
int blue)
putSample
public void putSample(int channelIndex,
int entryIndex,
int newValue)
Sets one sample of one color entry in the palette to a new value.