Index (Frames) | Index (No Frames) | Package | Package Tree | Tree
java.awt

Class Color

java.lang.Object
|
+--java.awt.Color

All Implemented Interfaces:

Paint, Serializable


public class Color

extends Object

implements 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:See Also:

Field Summary

static java.awt.ColorBLACK

Constant for the color black: R=0, G=0, B=0.
static java.awt.ColorBLUE

Constant for the color blue: R=0, G=0, B=255.
static java.awt.ColorCYAN

Constant for the color cyan: R=0, G=255, B=255.
static java.awt.ColorDARK_GRAY

Constant for the color dark gray: R=64, G=64, B=64.
static java.awt.ColorGRAY

Constant for the color gray: R=128, G=128, B=128.
static java.awt.ColorGREEN

Constant for the color green: R=0, G=255, B=0.
static java.awt.ColorLIGHT_GRAY

Constant for the color light gray: R=192, G=192, B=192.
static java.awt.ColorMAGENTA

Constant for the color magenta: R=255, G=0, B=255.
static java.awt.ColorORANGE

Constant for the color orange: R=255, G=200, B=0.
static java.awt.ColorPINK

Constant for the color pink: R=255, G=175, B=175.
static java.awt.ColorRED

Constant for the color red: R=255, G=0, B=0.
static java.awt.ColorWHITE

Constant for the color white: R=255, G=255, B=255.
static java.awt.ColorYELLOW

Constant for the color yellow: R=255, G=255, B=0.
static java.awt.Colorblack

Constant for the color black: R=0, G=0, B=0.
static java.awt.Colorblue

Constant for the color blue: R=0, G=0, B=255.
static java.awt.Colorcyan

Constant for the color cyan: R=0, G=255, B=255.
static java.awt.ColordarkGray

Constant for the color dark gray: R=64, G=64, B=64.
static java.awt.Colorgray

Constant for the color gray: R=128, G=128, B=128.
static java.awt.Colorgreen

Constant for the color green: R=0, G=255, B=0.
static java.awt.ColorlightGray

Constant for the color light gray: R=192, G=192, B=192.
static java.awt.Colormagenta

Constant for the color magenta: R=255, G=0, B=255.
static java.awt.Colororange

Constant for the color orange: R=255, G=200, B=0.
static java.awt.Colorpink

Constant for the color pink: R=255, G=175, B=175.
static java.awt.Colorred

Constant for the color red: R=255, G=0, B=0.
static java.awt.Colorwhite

Constant for the color white: R=255, G=255, B=255.
static java.awt.Coloryellow

Constant for the color yellow: R=255, G=255, B=0.

Constructor Summary

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.
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.
Color(int value)

Initializes a new instance of Color using the specified RGB value.
Color(int value, boolean hasalpha)

Initializes a new instance of Color using the specified RGB value.
Color(float red, float green, float blue)

Initializes a new instance of Color using the specified RGB values.
Color(float red, float green, float blue, float alpha)

Initializes a new instance of Color using the specified RGB and alpha values.
Color(java.awt.color.ColorSpace space, float[] components, float alpha)

Creates a color in the given ColorSpace with the specified alpha.

Method Summary

static intHSBtoRGB(float hue, float saturation, float brightness)

Converts from the HSB (hue, saturation, brightness) color model to the RGB (red, green, blue) color model.
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.
java.awt.Colorbrighter()

Returns a brighter version of this color.
java.awt.PaintContextcreateContext(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.
java.awt.Colordarker()

Returns a darker version of this color.
static java.awt.Colordecode(java.lang.String str)

Converts the specified string to a number, using Integer.decode, and creates a new instance of Color from the value.
booleanequals(java.lang.Object obj)

Tests this object for equality against the specified object.
intgetAlpha()

Returns the alpha value for this color, as an integer in the range 0-255.
intgetBlue()

Returns the blue value for this color, as an integer in the range 0-255 in the sRGB color space.
static java.awt.ColorgetColor(java.lang.String prop)

Returns a new instance of Color from the value of the system property named by the specified string.
static java.awt.ColorgetColor(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.
static java.awt.ColorgetColor(java.lang.String prop, int defrgb)

Returns a new instance of Color from the value of the system property named by the specified string.
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).
float[]getColorComponents(java.awt.color.ColorSpace space, float[] array)

Returns a float array containing the color components of this color in the given ColorSpace.
java.awt.color.ColorSpacegetColorSpace()

Returns the color space of this color.
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).
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.
intgetGreen()

Returns the green value for this color, as an integer in the range 0-255 in the sRGB color space.
static java.awt.ColorgetHSBColor(float hue, float saturation, float brightness)

Returns a new instance of Color based on the specified HSB values.
intgetRGB()

Returns the RGB value for this color, in the sRGB color space.
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.
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.
intgetRed()

Returns the red value for this color, as an integer in the range 0-255 in the sRGB color space.
intgetTransparency()

Returns the transparency level of this color.
inthashCode()

Returns a hash value for this color.
java.lang.StringtoString()

Returns a string representation of this object.

Field Details

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.


Constructor Details

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:


Method Details

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:

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:

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:


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:

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:

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:


getAlpha

public int getAlpha()

Returns the alpha value for this color, as an integer in the range 0-255.

Returns:

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:

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:

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:

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:

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:

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:

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:

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:

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:

See Also:


getTransparency

public int getTransparency()

Returns the transparency level of this color.

Returns:


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:


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: