java.awt
Class Color
java.lang.Object
|
+--java.awt.Color
All Implemented Interfaces:
Paint, Serializable
This class represents a color value in the AWT system. It uses the sRGB
(standard Red-Green-Blue) system, along with an alpha value ranging from
transparent (0.0f or 0) and opaque (1.0f or 255). The color is not
pre-multiplied by the alpha value an any of the accessor methods. Further
information about sRGB can be found at
http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html.
Since:Author:- Aaron M. Renn <arenn@urbanophile.com>
See Also:
Color(int red, int green, int blue)
|
Color(int red, int green, int blue, int alpha)
|
Color(int value)
|
Color(int value, boolean hasalpha)
|
Color(float red, float green, float blue)
|
Color(float red, float green, float blue, float alpha)
|
Color(java.awt.color.ColorSpace space, float[] components, float alpha)
|
static int | HSBtoRGB(float hue, float saturation, float brightness)
|
static float[] | RGBtoHSB(int red, int green, int blue, float[] array)
|
java.awt.Color | brighter()
|
java.awt.PaintContext | createContext(java.awt.image.ColorModel cm, java.awt.Rectangle deviceBounds, java.awt.geom.Rectangle2D userBounds, java.awt.geom.AffineTransform xform, java.awt.RenderingHints hints)
|
java.awt.Color | darker()
|
static java.awt.Color | decode(java.lang.String str)
|
boolean | equals(java.lang.Object obj)
|
int | getAlpha()
|
int | getBlue()
|
static java.awt.Color | getColor(java.lang.String prop)
|
static java.awt.Color | getColor(java.lang.String prop, java.awt.Color defcolor)
|
static java.awt.Color | getColor(java.lang.String prop, int defrgb)
|
float[] | getColorComponents(float[] array)
|
float[] | getColorComponents(java.awt.color.ColorSpace space, float[] array)
|
java.awt.color.ColorSpace | getColorSpace()
|
float[] | getComponents(float[] array)
|
float[] | getComponents(java.awt.color.ColorSpace space, float[] array)
|
int | getGreen()
|
static java.awt.Color | getHSBColor(float hue, float saturation, float brightness)
|
int | getRGB()
|
float[] | getRGBColorComponents(float[] array)
|
float[] | getRGBComponents(float[] array)
|
int | getRed()
|
int | getTransparency()
|
int | hashCode()
|
java.lang.String | toString()
|
BLACK
public static final Color BLACK
Constant for the color black: R=0, G=0, B=0.
Since:
BLUE
public static final Color BLUE
Constant for the color blue: R=0, G=0, B=255.
Since:
CYAN
public static final Color CYAN
Constant for the color cyan: R=0, G=255, B=255.
Since:
DARK_GRAY
public static final Color DARK_GRAY
Constant for the color dark gray: R=64, G=64, B=64.
Since:
GRAY
public static final Color GRAY
Constant for the color gray: R=128, G=128, B=128.
Since:
GREEN
public static final Color GREEN
Constant for the color green: R=0, G=255, B=0.
Since:
LIGHT_GRAY
public static final Color LIGHT_GRAY
Constant for the color light gray: R=192, G=192, B=192.
Since:
MAGENTA
public static final Color MAGENTA
Constant for the color magenta: R=255, G=0, B=255.
Since:
ORANGE
public static final Color ORANGE
Constant for the color orange: R=255, G=200, B=0.
Since:
PINK
public static final Color PINK
Constant for the color pink: R=255, G=175, B=175.
Since:
RED
public static final Color RED
Constant for the color red: R=255, G=0, B=0.
Since:
WHITE
public static final Color WHITE
Constant for the color white: R=255, G=255, B=255.
Since:
YELLOW
public static final Color YELLOW
Constant for the color yellow: R=255, G=255, B=0.
Since:
black
public static final Color black
Constant for the color black: R=0, G=0, B=0.
blue
public static final Color blue
Constant for the color blue: R=0, G=0, B=255.
cyan
public static final Color cyan
Constant for the color cyan: R=0, G=255, B=255.
darkGray
public static final Color darkGray
Constant for the color dark gray: R=64, G=64, B=64.
gray
public static final Color gray
Constant for the color gray: R=128, G=128, B=128.
green
public static final Color green
Constant for the color green: R=0, G=255, B=0.
lightGray
public static final Color lightGray
Constant for the color light gray: R=192, G=192, B=192.
magenta
public static final Color magenta
Constant for the color magenta: R=255, G=0, B=255.
orange
public static final Color orange
Constant for the color orange: R=255, G=200, B=0.
pink
public static final Color pink
Constant for the color pink: R=255, G=175, B=175.
red
public static final Color red
Constant for the color red: R=255, G=0, B=0.
white
public static final Color white
Constant for the color white: R=255, G=255, B=255.
yellow
public static final Color yellow
Constant for the color yellow: R=255, G=255, B=0.
Color
public Color(float red, float green, float blue)
Initializes a new instance of Color
using the specified
RGB values. These must be in the range of 0.0-1.0. Alpha is assigned
the value of 1.0 (opaque). When drawing to screen, the actual color may
be adjusted to the best match of hardware capabilities.
Parameters:
Throws:
See Also:
Color
public Color(float red, float green, float blue, float alpha)
Initializes a new instance of Color
using the specified
RGB and alpha values. These must be in the range of 0.0-1.0. When drawing
to screen, the actual color may be adjusted to the best match of
hardware capabilities.
Parameters:
Throws:
See Also:
Color
public Color(int value)
Initializes a new instance of Color
using the specified
RGB value. The blue value is in bits 0-7, green in bits 8-15, and
red in bits 16-23. The other bits are ignored. The alpha value is set
to 255 (opaque). When drawing to screen, the actual color may be
adjusted to the best match of hardware capabilities.
Parameters:
See Also:
Color
public Color(int value, boolean hasalpha)
Initializes a new instance of Color
using the specified
RGB value. The blue value is in bits 0-7, green in bits 8-15, and
red in bits 16-23. The alpha value is in bits 24-31, unless hasalpha
is false, in which case alpha is set to 255. When drawing to screen, the
actual color may be adjusted to the best match of hardware capabilities.
Parameters:
See Also:
Color
public Color(int red, int green, int blue)
Initializes a new instance of Color
using the specified
red, green, and blue values, which must be given as integers in the
range of 0-255. Alpha will default to 255 (opaque). When drawing to
screen, the actual color may be adjusted to the best match of hardware
capabilities.
Parameters:
Throws:
See Also:
Color
public Color(int red, int green, int blue, int alpha)
Initializes a new instance of Color
using the specified
red, green, blue, and alpha values, which must be given as integers in
the range of 0-255. When drawing to screen, the actual color may be
adjusted to the best match of hardware capabilities.
Parameters:
Throws:
See Also:
Color
public Color(java.awt.color.ColorSpace space, float[] components, float alpha)
Creates a color in the given ColorSpace with the specified alpha. The
array must be non-null and have enough elements for the color space
(for example, RGB requires 3 elements, CMYK requires 4). When drawing
to screen, the actual color may be adjusted to the best match of
hardware capabilities.
Parameters:
Throws:
See Also:
HSBtoRGB
public static int HSBtoRGB(float hue, float saturation, float brightness)
Converts from the HSB (hue, saturation, brightness) color model to the
RGB (red, green, blue) color model. The hue may be any floating point;
it's fractional portion is used to select the angle in the HSB model.
The saturation and brightness must be between 0 and 1. The result is
suitable for creating an RGB color with the one-argument constructor.
Parameters:
Returns:
See Also:
RGBtoHSB
public static float[] RGBtoHSB(int red, int green, int blue, float[] array)
Converts from the RGB (red, green, blue) color model to the HSB (hue,
saturation, brightness) color model. If the array is null, a new one
is created, otherwise it is recycled. The results will be in the range
0.0-1.0 if the inputs are in the range 0-255.
Parameters:
Returns:
- the array containing HSB value
Throws:
See Also:
brighter
public Color brighter()
Returns a brighter version of this color. This is done by increasing the
RGB values by an arbitrary scale factor. The new color is opaque (an
alpha of 255). Note that this method and the darker()
method are not necessarily inverses.
Returns:
- a brighter version of this color
See Also:
createContext
public PaintContext createContext(java.awt.image.ColorModel cm, java.awt.Rectangle deviceBounds, java.awt.geom.Rectangle2D userBounds, java.awt.geom.AffineTransform xform, java.awt.RenderingHints hints)
Returns a paint context, used for filling areas of a raster scan with
this color. Since the color is constant across the entire rectangle, and
since it is always in sRGB space, this implementation returns the same
object, regardless of the parameters. Subclasses, however, may have a
mutable result.
Parameters:
Returns:
- a context for painting this solid color
darker
public Color darker()
Returns a darker version of this color. This is done by decreasing the
RGB values by an arbitrary scale factor. The new color is opaque (an
alpha of 255). Note that this method and the brighter()
method are not necessarily inverses.
Returns:
- a darker version of this color
See Also:
decode
public static Color decode(java.lang.String str)
Converts the specified string to a number, using Integer.decode, and
creates a new instance of Color
from the value. The alpha
value will be 255 (opaque).
Since:Parameters:
Returns:
- a new instance of
Color
for the string
Throws:
See Also:
equals
public boolean equals(java.lang.Object obj)
Tests this object for equality against the specified object. This will
be true if and only if the specified object is an instance of
Color
and has the same 8-bit integer red, green, and blue
values as this object. Note that two colors may be slightly different
as float values, but round to the same integer values. Also note that
this does not accurately compare SystemColors, since that class does
not store its internal data in RGB format like regular colors.
Parameters:
Returns:
- true if the specified object is semantically equal to this one
getAlpha
public int getAlpha()
Returns the alpha value for this color, as an integer in the range 0-255.
Returns:
- the alpha value for this color
See Also:
getBlue
public int getBlue()
Returns the blue value for this color, as an integer in the range 0-255
in the sRGB color space.
Returns:
- the blue value for this color
See Also:
getColor
public static Color getColor(java.lang.String prop)
Returns a new instance of Color
from the value of the
system property named by the specified string. If the property does not
exist, or cannot be parsed, then null
will be returned.
Parameters:
Throws:
See Also:
getColor
public static Color getColor(java.lang.String prop, int defrgb)
Returns a new instance of Color
from the value of the
system property named by the specified string. If the property does
not exist, or cannot be parsed, then the default RGB value will be
used to create a return value.
Parameters:
Throws:
See Also:
getColor
public static Color getColor(java.lang.String prop, java.awt.Color defcolor)
Returns a new instance of Color
from the value of the
system property named by the specified string. If the property does
not exist, or cannot be parsed, then the default color value will be
returned.
Parameters:
Throws:
See Also:
getColorComponents
public float[] getColorComponents(float[] array)
Returns a float array containing the color components of this color in
the ColorSpace it was created with (the constructors which do not take
a ColorSpace parameter use a default sRGB ColorSpace). If the array is
null, a new one is created, otherwise it is recycled, and must have at
least as many positions as used in the color space.
Parameters:
Returns:
- the original color space components
Throws:
getColorComponents
public float[] getColorComponents(java.awt.color.ColorSpace space, float[] array)
Returns a float array containing the color components of this color in
the given ColorSpace. If the array is null, a new one is created,
otherwise it is recycled, and must have at least as many positions as
used in the color space.
Parameters:
Returns:
- the color space components
Throws:
getColorSpace
public ColorSpace getColorSpace()
Returns the color space of this color. Except for the constructor which
takes a ColorSpace argument, this will be an implementation of
ColorSpace.CS_sRGB.
Returns:
getComponents
public float[] getComponents(float[] array)
Returns a float array containing the color and alpha components of this
color in the ColorSpace it was created with (the constructors which do
not take a ColorSpace parameter use a default sRGB ColorSpace). If the
array is null, a new one is created, otherwise it is recycled, and must
have at least one more position than components used in the color space.
Parameters:
Returns:
- the original color space components and alpha value
Throws:
getComponents
public float[] getComponents(java.awt.color.ColorSpace space, float[] array)
Returns a float array containing the color and alpha components of this
color in the given ColorSpace. If the array is null, a new one is
created, otherwise it is recycled, and must have at least one more
position than components used in the color space.
Parameters:
Returns:
- the color space components and alpha value
Throws:
getGreen
public int getGreen()
Returns the green value for this color, as an integer in the range 0-255
in the sRGB color space.
Returns:
- the green value for this color
See Also:
getHSBColor
public static Color getHSBColor(float hue, float saturation, float brightness)
Returns a new instance of Color
based on the specified
HSB values. The hue may be any floating point; it's fractional portion
is used to select the angle in the HSB model. The saturation and
brightness must be between 0 and 1.
Parameters:
Returns:
getRGB
public int getRGB()
Returns the RGB value for this color, in the sRGB color space. The blue
value will be in bits 0-7, green in 8-15, red in 6-23, and alpha value in
24-31.
Returns:
- the RGB value for this color
See Also:
getRGBColorComponents
public float[] getRGBColorComponents(float[] array)
Returns a float array with the red, green, and blue components, in the
default sRGB space, with values in the range 0.0-1.0. If the array is
null, a new one is created, otherwise it is recycled.
Parameters:
Returns:
Throws:
getRGBComponents
public float[] getRGBComponents(float[] array)
Returns a float array with the red, green, and blue components, and the
alpha value, in the default sRGB space, with values in the range 0.0-1.0.
If the array is null, a new one is created, otherwise it is recycled.
Parameters:
Returns:
- the RGB components and alpha value
Throws:
getRed
public int getRed()
Returns the red value for this color, as an integer in the range 0-255
in the sRGB color space.
Returns:
- the red value for this color
See Also:
getTransparency
public int getTransparency()
Returns the transparency level of this color.
Returns:
- one of {@link #OPAQUE}, {@link #BITMASK}, or {@link #TRANSLUCENT}
hashCode
public int hashCode()
Returns a hash value for this color. This is simply the color in 8-bit
precision, in the format 0xAARRGGBB (alpha, red, green, blue).
Returns:
- a hash value for this color
toString
public String toString()
Returns a string representation of this object. Subclasses may return
any desired format, except for null, but this implementation returns
getClass().getName() + "[r=" + getRed() + ",g=" + getGreen()
+ ",b=" + getBlue() + ']'
.
Returns:
- a string representation of this object