public class Color extends Objectimplements Paint , Serializable
Color class is used to encapsulate colors in the default sRGB color space or colors in arbitrary color spaces identified by a
ColorSpace. Every color has an implicit alpha value of 1.0 or an explicit one provided in the constructor. The alpha value defines the transparency of a color and can be represented by a float value in the range 0.0 - 1.0 or 0 - 255. An alpha value of 1.0 or 255 means that the color is completely opaque and an alpha value of 0 or 0.0 means that the color is completely transparent. When constructing a
Color with an explicit alpha or getting the color/alpha components of a
Color, the color components are never premultiplied by the alpha component.
The default color space for the Java 2D(tm) API is sRGB, a proposed standard RGB color space. For further information on sRGB, see http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html .
ColorSpace,
AlphaComposite,
Serialized Form
| Modifier and Type | Field and Description |
|---|---|
static Color |
black
The color black.
|
static Color |
BLACK
The color black.
|
static Color |
blue
The color blue.
|
static Color |
BLUE
The color blue.
|
static Color |
cyan
The color cyan.
|
static Color |
CYAN
The color cyan.
|
static Color |
DARK_GRAY
The color dark gray.
|
static Color |
darkGray
The color dark gray.
|
static Color |
gray
The color gray.
|
static Color |
GRAY
The color gray.
|
static Color |
green
The color green.
|
static Color |
GREEN
The color green.
|
static Color |
LIGHT_GRAY
The color light gray.
|
static Color |
lightGray
The color light gray.
|
static Color |
magenta
The color magenta.
|
static Color |
MAGENTA
The color magenta.
|
static Color |
orange
The color orange.
|
static Color |
ORANGE
The color orange.
|
static Color |
pink
The color pink.
|
static Color |
PINK
The color pink.
|
static Color |
red
The color red.
|
static Color |
RED
The color red.
|
static Color |
white
The color white.
|
static Color |
WHITE
The color white.
|
static Color |
yellow
The color yellow.
|
static Color |
YELLOW
The color yellow.
|
BITMASK, OPAQUE, TRANSLUCENT| Constructor and Description |
|---|
Color(ColorSpace
Creates a color in the specified
ColorSpace with the color components specified in the
float array and the specified alpha.
|
Color(float r, float g, float b)
Creates an opaque sRGB color with the specified red, green, and blue values in the range (0.0 - 1.0).
|
Color(float r, float g, float b, float a)
Creates an sRGB color with the specified red, green, blue, and alpha values in the range (0.0 - 1.0).
|
Color(int rgb)
Creates an opaque sRGB color with the specified combined RGB value consisting of the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7.
|
Color(int rgba, boolean hasalpha)
Creates an sRGB color with the specified combined RGBA value consisting of the alpha component in bits 24-31, the red component in bits 16-23, the green component in bits 8-15, and the blue component in bits 0-7.
|
Color(int r, int g, int b)
Creates an opaque sRGB color with the specified red, green, and blue values in the range (0 - 255).
|
Color(int r, int g, int b, int a)
Creates an sRGB color with the specified red, green, blue, and alpha values in the range (0 - 255).
|
| Modifier and Type | Method and Description |
|---|---|
Color |
brighter()
Creates a new
Color that is a brighter version of this
Color.
|
PaintContext |
createContext(ColorModel
Creates and returns a
PaintContext used to generate a solid color field pattern.
|
Color |
darker()
Creates a new
Color that is a darker version of this
Color.
|
static Color |
decode(String
Converts a
String to an integer and returns the specified opaque
Color.
|
boolean |
equals(Object
Determines whether another object is equal to this
Color.
|
int |
getAlpha()
Returns the alpha component in the range 0-255.
|
int |
getBlue()
Returns the blue component in the range 0-255 in the default sRGB space.
|
static Color |
getColor(String
Finds a color in the system properties.
|
static Color |
getColor(String
Finds a color in the system properties.
|
static Color |
getColor(String
Finds a color in the system properties.
|
float[] |
getColorComponents(ColorSpace
Returns a
float array containing only the color components of the
Color in the
ColorSpace specified by the
cspace parameter.
|
float[] |
getColorComponents(float[] compArray)
Returns a
float array containing only the color components of the
Color, in the
ColorSpace of the
Color.
|
ColorSpace |
getColorSpace()
Returns the
ColorSpace of this
Color.
|
float[] |
getComponents(ColorSpace
Returns a
float array containing the color and alpha components of the
Color, in the
ColorSpace specified by the
cspace parameter.
|
float[] |
getComponents(float[] compArray)
Returns a
float array containing the color and alpha components of the
Color, in the
ColorSpace of the
Color.
|
int |
getGreen()
Returns the green component in the range 0-255 in the default sRGB space.
|
static Color |
getHSBColor(float h, float s, float b)
Creates a
Color object based on the specified values for the HSB color model.
|
int |
getRed()
Returns the red component in the range 0-255 in the default sRGB space.
|
int |
getRGB()
Returns the RGB value representing the color in the default sRGB
ColorModel.
|
float[] |
getRGBColorComponents(float[] compArray)
Returns a
float array containing only the color components of the
Color, in the default sRGB color space.
|
float[] |
getRGBComponents(float[] compArray)
Returns a
float array containing the color and alpha components of the
Color, as represented in the default sRGB color space.
|
int |
getTransparency()
Returns the transparency mode for this
Color.
|
int |
hashCode()
Computes the hash code for this
Color.
|
static int |
HSBtoRGB(float hue, float saturation, float brightness)
Converts the components of a color, as specified by the HSB model, to an equivalent set of values for the default RGB model.
|
static float[] |
RGBtoHSB(int r, int g, int b, float[] hsbvals)
Converts the components of a color, as specified by the default RGB model, to an equivalent set of values for hue, saturation, and brightness that are the three components of the HSB model.
|
String |
toString()
Returns a string representation of this
Color.
|
public static final Colorwhite
public static final ColorWHITE
public static final ColorlightGray
public static final ColorLIGHT_GRAY
public static final Colorgray
public static final ColorGRAY
public static final ColordarkGray
public static final ColorDARK_GRAY
public static final Colorblack
public static final ColorBLACK
public static final Colorred
public static final ColorRED
public static final Colorpink
public static final ColorPINK
public static final Colororange
public static final ColorORANGE
public static final Coloryellow
public static final ColorYELLOW
public static final Colorgreen
public static final ColorGREEN
public static final Colormagenta
public static final ColorMAGENTA
public static final Colorcyan
public static final ColorCYAN
public static final Colorblue
public static final ColorBLUE
public Color(int r,
int g,
int b)
r - the red component
g - the green component
b - the blue component
IllegalArgumentException - if
r,
g or
b are outside of the range 0 to 255, inclusive
getRed(),
getGreen(),
getBlue(),
getRGB()
@ConstructorProperties(value={"red","green","blue","alpha"}) public Color(int r, int g, int b, int a)
r - the red component
g - the green component
b - the blue component
a - the alpha component
IllegalArgumentException - if
r,
g,
b or
a are outside of the range 0 to 255, inclusive
getRed(),
getGreen(),
getBlue(),
getAlpha(),
getRGB()
public Color(int rgb)
rgb - the combined RGB components
ColorModel.getRGBdefault() ,
getRed(),
getGreen(),
getBlue(),
getRGB()
public Color(int rgba,
boolean hasalpha)
hasalpha argument is
false, alpha is defaulted to 255.
rgba - the combined RGBA components
hasalpha -
true if the alpha bits are valid;
false otherwise
ColorModel.getRGBdefault() ,
getRed(),
getGreen(),
getBlue(),
getAlpha(),
getRGB()
public Color(float r,
float g,
float b)
r - the red component
g - the green component
b - the blue component
IllegalArgumentException - if
r,
g or
b are outside of the range 0.0 to 1.0, inclusive
getRed(),
getGreen(),
getBlue(),
getRGB()
public Color(float r,
float g,
float b,
float a)
r - the red component
g - the green component
b - the blue component
a - the alpha component
IllegalArgumentException - if
r,
g
b or
a are outside of the range 0.0 to 1.0, inclusive
getRed(),
getGreen(),
getBlue(),
getAlpha(),
getRGB()
public Color(ColorSpacecspace, float[] components, float alpha)
ColorSpace with the color components specified in the
float array and the specified alpha. The number of components is determined by the type of the
ColorSpace. For example, RGB requires 3 components, but CMYK requires 4 components.
cspace - the
ColorSpace to be used to interpret the components
components - an arbitrary number of color components that is compatible with the
ColorSpace
alpha - alpha value
IllegalArgumentException - if any of the values in the
components array or
alpha is outside of the range 0.0 to 1.0
getComponents(float[]),
getColorComponents(float[])
public int getRed()
getRGB()
public int getGreen()
getRGB()
public int getBlue()
getRGB()
public int getAlpha()
getRGB()
public int getRGB()
ColorModel. (Bits 24-31 are alpha, 16-23 are red, 8-15 are green, 0-7 are blue).
ColorModel.
ColorModel.getRGBdefault() ,
getRed(),
getGreen(),
getBlue()
public Colorbrighter()
Color that is a brighter version of this
Color.
This method applies an arbitrary scale factor to each of the three RGB components of this Color to create a brighter version of this Color. The alpha value is preserved. Although brighter and darker are inverse operations, the results of a series of invocations of these two methods might be inconsistent because of rounding errors.
Color object that is a brighter version of this
Color with the same
alpha value.
darker()
public Colordarker()
Color that is a darker version of this
Color.
This method applies an arbitrary scale factor to each of the three RGB components of this Color to create a darker version of this Color. The alpha value is preserved. Although brighter and darker are inverse operations, the results of a series of invocations of these two methods might be inconsistent because of rounding errors.
Color object that is a darker version of this
Color with the same
alpha value.
brighter()
public int hashCode()
Color.
hashCode in class
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public boolean equals(Objectobj)
Color.
The result is true if and only if the argument is not null and is a Color object that has the same red, green, blue, and alpha values as this object.
equals in class
Object
obj - the object to test for equality with this
Color
true if the objects are the same;
false otherwise.
Object.hashCode() ,
HashMap
public StringtoString()
Color. This method is intended to be used only for debugging purposes. The content and format of the returned string might vary between implementations. The returned string might be empty but cannot be
null.
public static Colordecode(String nm) throws NumberFormatException
String to an integer and returns the specified opaque
Color. This method handles string formats that are used to represent octal and hexadecimal numbers.
nm - a
String that represents an opaque color as a 24-bit integer
Color object.
NumberFormatException - if the specified string cannot be interpreted as a decimal, octal, or hexadecimal integer.
Integer.decode(java.lang.String)
public static ColorgetColor(String nm)
The argument is treated as the name of a system property to be obtained. The string value of this property is then interpreted as an integer which is then converted to a Color object.
If the specified property is not found or could not be parsed as an integer then null is returned.
nm - the name of the color property
Color converted from the system property.
System.getProperty(java.lang.String) ,
Integer.getInteger(java.lang.String) ,
Color(int)
public static ColorgetColor(String nm, Color v)
The first argument is treated as the name of a system property to be obtained. The string value of this property is then interpreted as an integer which is then converted to a Color object.
If the specified property is not found or cannot be parsed as an integer then the Color specified by the second argument is returned instead.
nm - the name of the color property
v - the default
Color
Color converted from the system property, or the specified
Color.
System.getProperty(java.lang.String) ,
Integer.getInteger(java.lang.String) ,
Color(int)
public static ColorgetColor(String nm, int v)
The first argument is treated as the name of a system property to be obtained. The string value of this property is then interpreted as an integer which is then converted to a Color object.
If the specified property is not found or could not be parsed as an integer then the integer value v is used instead, and is converted to a Color object.
nm - the name of the color property
v - the default color value, as an integer
Color converted from the system property or the
Color converted from the specified integer.
System.getProperty(java.lang.String) ,
Integer.getInteger(java.lang.String) ,
Color(int)
public static int HSBtoRGB(float hue,
float saturation,
float brightness)
The saturation and brightness components should be floating-point values between zero and one (numbers in the range 0.0-1.0). The hue component can be any floating-point number. The floor of this number is subtracted from it to create a fraction between 0 and 1. This fractional number is then multiplied by 360 to produce the hue angle in the HSB color model.
The integer that is returned by HSBtoRGB encodes the value of a color in bits 0-23 of an integer value that is the same format used by the method getRGB. This integer can be supplied as an argument to the Color constructor that takes a single integer argument.
hue - the hue component of the color
saturation - the saturation of the color
brightness - the brightness of the color
getRGB(),
Color(int),
ColorModel.getRGBdefault()
public static float[] RGBtoHSB(int r,
int g,
int b,
float[] hsbvals)
If the hsbvals argument is null, then a new array is allocated to return the result. Otherwise, the method returns the array hsbvals, with the values put into that array.
r - the red component of the color
g - the green component of the color
b - the blue component of the color
hsbvals - the array used to return the three HSB values, or
null
getRGB(),
Color(int),
ColorModel.getRGBdefault()
public static ColorgetHSBColor(float h, float s, float b)
Color object based on the specified values for the HSB color model.
The s and b components should be floating-point values between zero and one (numbers in the range 0.0-1.0). The h component can be any floating-point number. The floor of this number is subtracted from it to create a fraction between 0 and 1. This fractional number is then multiplied by 360 to produce the hue angle in the HSB color model.
h - the hue component
s - the saturation of the color
b - the brightness of the color
Color object with the specified hue, saturation, and brightness.
public float[] getRGBComponents(float[] compArray)
float array containing the color and alpha components of the
Color, as represented in the default sRGB color space. If
compArray is
null, an array of length 4 is created for the return value. Otherwise,
compArray must have length 4 or greater, and it is filled in with the components and returned.
compArray - an array that this method fills with color and alpha components and returns
float array.
public float[] getRGBColorComponents(float[] compArray)
float array containing only the color components of the
Color, in the default sRGB color space. If
compArray is
null, an array of length 3 is created for the return value. Otherwise,
compArray must have length 3 or greater, and it is filled in with the components and returned.
compArray - an array that this method fills with color components and returns
float array.
public float[] getComponents(float[] compArray)
float array containing the color and alpha components of the
Color, in the
ColorSpace of the
Color. If
compArray is
null, an array with length equal to the number of components in the associated
ColorSpace plus one is created for the return value. Otherwise,
compArray must have at least this length and it is filled in with the components and returned.
compArray - an array that this method fills with the color and alpha components of this
Color in its
ColorSpace and returns
float array.
public float[] getColorComponents(float[] compArray)
float array containing only the color components of the
Color, in the
ColorSpace of the
Color. If
compArray is
null, an array with length equal to the number of components in the associated
ColorSpace is created for the return value. Otherwise,
compArray must have at least this length and it is filled in with the components and returned.
compArray - an array that this method fills with the color components of this
Color in its
ColorSpace and returns
float array.
public float[] getComponents(ColorSpacecspace, float[] compArray)
float array containing the color and alpha components of the
Color, in the
ColorSpace specified by the
cspace parameter. If
compArray is
null, an array with length equal to the number of components in
cspace plus one is created for the return value. Otherwise,
compArray must have at least this length, and it is filled in with the components and returned.
cspace - a specified
ColorSpace
compArray - an array that this method fills with the color and alpha components of this
Color in the specified
ColorSpace and returns
float array.
public float[] getColorComponents(ColorSpacecspace, float[] compArray)
float array containing only the color components of the
Color in the
ColorSpace specified by the
cspace parameter. If
compArray is
null, an array with length equal to the number of components in
cspace is created for the return value. Otherwise,
compArray must have at least this length, and it is filled in with the components and returned.
cspace - a specified
ColorSpace
compArray - an array that this method fills with the color components of this
Color in the specified
ColorSpace
float array.
public ColorSpacegetColorSpace()
ColorSpace of this
Color.
Color object's
ColorSpace.
public PaintContextcreateContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
PaintContext used to generate a solid color field pattern. See the
specification of the method in the
Paint interface for information on null parameter handling.
createContext in interface
Paint
cm - the preferred
ColorModel which represents the most convenient format for the caller to receive the pixel data, or
null if there is no preference.
r - the device space bounding box of the graphics primitive being rendered.
r2d - the user space bounding box of the graphics primitive being rendered.
xform - the
AffineTransform from user space into device space.
hints - the set of hints that the context object can use to choose between rendering alternatives.
PaintContext for generating color patterns.
Paint,
PaintContext,
ColorModel,
Rectangle,
Rectangle2D,
AffineTransform,
RenderingHints
public int getTransparency()
Color. This is required to implement the
Paint interface.
getTransparency in interface
Transparency
Color object's transparency mode.
Paint,
Transparency,
createContext(java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints)