FileDocCategorySizeDatePackage
Color.javaAPI DocAndroid 1.5 API8423Wed May 06 22:42:00 BST 2009android.graphics

Color

public class Color extends Object
The Color class defines methods for creating and converting color ints. Colors are represented as packed ints, made up of 4 bytes: alpha, red, green, blue. The values are unpremultiplied, meaning any transparency is stored solely in the alpha component, and not in the color components. The components are stored as follows (alpha << 24) | (red << 16) | (green << 8) | blue. Each component ranges between 0..255 with 0 meaning no contribution for that component, and 255 meaning 100% contribution. Thus opaque-black would be 0xFF000000 (100% opaque but no contributes from red, gree, blue, and opaque-white would be 0xFFFFFFFF

Fields Summary
public static final int
BLACK
public static final int
DKGRAY
public static final int
GRAY
public static final int
LTGRAY
public static final int
WHITE
public static final int
RED
public static final int
GREEN
public static final int
BLUE
public static final int
YELLOW
public static final int
CYAN
public static final int
MAGENTA
public static final int
TRANSPARENT
private static final HashMap
sColorNameMap
Constructors Summary
Methods Summary
public static intHSVToColor(float[] hsv)
Convert HSV components to an ARGB color. Alpha set to 0xFF. hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1] If hsv values are out of range, they are pinned.

param
hsv 3 element array which holds the input HSV components.
return
the resulting argb color

        return HSVToColor(0xFF, hsv);
    
public static intHSVToColor(int alpha, float[] hsv)
Convert HSV components to an ARGB color. The alpha component is passed through unchanged. hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1] If hsv values are out of range, they are pinned.

param
alpha the alpha component of the returned argb color.
param
hsv 3 element array which holds the input HSV components.
return
the resulting argb color

        if (hsv.length < 3) {
            throw new RuntimeException("3 components required for hsv");
        }
        return nativeHSVToColor(alpha, hsv);
    
public static voidRGBToHSV(int red, int green, int blue, float[] hsv)
Convert RGB components to HSV. hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1]

param
red red component value [0..255]
param
green green component value [0..255]
param
blue blue component value [0..255]
param
hsv 3 element array which holds the resulting HSV components.

        if (hsv.length < 3) {
            throw new RuntimeException("3 components required for hsv");
        }
        nativeRGBToHSV(red, green, blue, hsv);
    
public static intalpha(int color)
Return the alpha component of a color int. This is the same as saying color >>> 24


                          
         
        return color >>> 24;
    
public static intargb(int alpha, int red, int green, int blue)
Return a color-int from alpha, red, green, blue components. These component values should be [0..255], but there is no range check performed, so if they are out of range, the returned color is undefined.

param
alpha Alpha component [0..255] of the color
param
red Red component [0..255] of the color
param
green Green component [0..255] of the color
param
blue Blue component [0..255] of the color

        return (alpha << 24) | (red << 16) | (green << 8) | blue;
    
public static intblue(int color)
Return the blue component of a color int. This is the same as saying color & 0xFF

        return color & 0xFF;
    
public static voidcolorToHSV(int color, float[] hsv)
Convert the argb color to its HSV components. hsv[0] is Hue [0 .. 360) hsv[1] is Saturation [0...1] hsv[2] is Value [0...1]

param
color the argb color to convert. The alpha component is ignored.
param
hsv 3 element array which holds the resulting HSV components.

        RGBToHSV((color >> 16) & 0xFF, (color >> 8) & 0xFF, color & 0xFF, hsv);
    
public static intgreen(int color)
Return the green component of a color int. This is the same as saying (color >> 8) & 0xFF

        return (color >> 8) & 0xFF;
    
private static native intnativeHSVToColor(int alpha, float[] hsv)

private static native voidnativeRGBToHSV(int red, int greed, int blue, float[] hsv)

public static intparseColor(java.lang.String colorString)
Parse the color string, and return the corresponding color-int. If the string cannot be parsed, throws an IllegalArgumentException exception. Supported formats are: #RRGGBB #AARRGGBB 'red', 'blue', 'green', 'black', 'white', 'gray', 'cyan', 'magenta', 'yellow', 'lightgray', 'darkgray'

        if (colorString.charAt(0) == '#") {
            // Use a long to avoid rollovers on #ffXXXXXX
            long color = Long.parseLong(colorString.substring(1), 16);
            if (colorString.length() == 7) {
                // Set the alpha value
                color |= 0x00000000ff000000;
            } else if (colorString.length() != 9) {
                throw new IllegalArgumentException("Unknown color");
            }
            return (int)color;
        } else {
            Integer color = sColorNameMap.get(colorString.toLowerCase(Locale.US));
            if (color != null) {
                return color;
            }
        }
        throw new IllegalArgumentException("Unknown color");
    
public static intred(int color)
Return the red component of a color int. This is the same as saying (color >> 16) & 0xFF

        return (color >> 16) & 0xFF;
    
public static intrgb(int red, int green, int blue)
Return a color-int from red, green, blue components. The alpha component is implicity 255 (fully opaque). These component values should be [0..255], but there is no range check performed, so if they are out of range, the returned color is undefined.

param
red Red component [0..255] of the color
param
green Green component [0..255] of the color
param
blue Blue component [0..255] of the color

        return (0xFF << 24) | (red << 16) | (green << 8) | blue;