FileDocCategorySizeDatePackage
ColorSpace.javaAPI DocAndroid 1.5 API12273Wed May 06 22:41:54 BST 2009java.awt.color

ColorSpace

public abstract class ColorSpace extends Object implements Serializable
The ColorSpace class defines a color space type for a Color and provides methods for arrays of color component operations.
since
Android 1.0

Fields Summary
private static final long
serialVersionUID
The Constant serialVersionUID.
public static final int
TYPE_XYZ
The Constant TYPE_XYZ indicates XYZ color space type.
public static final int
TYPE_Lab
The Constant TYPE_Lab indicates Lab color space type.
public static final int
TYPE_Luv
The Constant TYPE_Luv indicates Luv color space type.
public static final int
TYPE_YCbCr
The Constant TYPE_YCbCr indicates YCbCr color space type.
public static final int
TYPE_Yxy
The Constant TYPE_Yxy indicates Yxy color space type.
public static final int
TYPE_RGB
The Constant TYPE_RGB indicates RGB color space type.
public static final int
TYPE_GRAY
The Constant TYPE_GRAY indicates Gray color space type.
public static final int
TYPE_HSV
The Constant TYPE_HSV indicates HSV color space type.
public static final int
TYPE_HLS
The Constant TYPE_HLS indicates HLS color space type.
public static final int
TYPE_CMYK
The Constant TYPE_CMYK indicates CMYK color space type.
public static final int
TYPE_CMY
The Constant TYPE_CMY indicates CMY color space type.
public static final int
TYPE_2CLR
The Constant TYPE_2CLR indicates color spaces with 2 components.
public static final int
TYPE_3CLR
The Constant TYPE_3CLR indicates color spaces with 3 components.
public static final int
TYPE_4CLR
The Constant TYPE_4CLR indicates color spaces with 4 components.
public static final int
TYPE_5CLR
The Constant TYPE_5CLR indicates color spaces with 5 components.
public static final int
TYPE_6CLR
The Constant TYPE_6CLR indicates color spaces with 6 components.
public static final int
TYPE_7CLR
The Constant TYPE_7CLR indicates color spaces with 7 components.
public static final int
TYPE_8CLR
The Constant TYPE_8CLR indicates color spaces with 8 components.
public static final int
TYPE_9CLR
The Constant TYPE_9CLR indicates color spaces with 9 components.
public static final int
TYPE_ACLR
The Constant TYPE_ACLR indicates color spaces with 10 components.
public static final int
TYPE_BCLR
The Constant TYPE_BCLR indicates color spaces with 11 components.
public static final int
TYPE_CCLR
The Constant TYPE_CCLR indicates color spaces with 12 components.
public static final int
TYPE_DCLR
The Constant TYPE_DCLR indicates color spaces with 13 components.
public static final int
TYPE_ECLR
The Constant TYPE_ECLR indicates color spaces with 14 components.
public static final int
TYPE_FCLR
The Constant TYPE_FCLR indicates color spaces with 15 components.
public static final int
CS_sRGB
The Constant CS_sRGB indicates standard RGB color space.
public static final int
CS_LINEAR_RGB
The Constant CS_LINEAR_RGB indicates linear RGB color space.
public static final int
CS_CIEXYZ
The Constant CS_CIEXYZ indicates CIEXYZ conversion color space.
public static final int
CS_PYCC
The Constant CS_PYCC indicates Photo YCC conversion color space.
public static final int
CS_GRAY
The Constant CS_GRAY indicates linear gray scale color space.
private static ColorSpace
cs_Gray
The cs_ gray.
private static ColorSpace
cs_PYCC
The cs_ pycc.
private static ColorSpace
cs_CIEXYZ
The cs_ ciexyz.
private static ColorSpace
cs_LRGB
The cs_ lrgb.
private static ColorSpace
cs_sRGB
The cs_s rgb.
private int
type
The type.
private int
numComponents
The num components.
Constructors Summary
protected ColorSpace(int type, int numcomponents)
Instantiates a ColorSpace with the specified ColorSpace type and number of components.

param
type the type of color space.
param
numcomponents the number of components.


                                                         
         
        this.numComponents = numcomponents;
        this.type = type;
    
Methods Summary
public abstract float[]fromCIEXYZ(float[] colorvalue)
Performs the transformation of a color from the CS_CIEXYZ color space into this ColorSpace.

param
colorvalue the float array representing a color in the CS_CIEXYZ color space.
return
the float array with the transformed color components.

public abstract float[]fromRGB(float[] rgbvalue)
Performs the transformation of a color from the RGB color space into this ColorSpace.

param
rgbvalue the float array representing a color in the RGB color space.
return
the float array with the transformed color components.

public static java.awt.color.ColorSpacegetInstance(int colorspace)
Gets the single instance of ColorSpace with the specified ColorSpace: CS_sRGB, CS_LINEAR_RGB, CS_CIEXYZ, CS_GRAY, or CS_PYCC.

param
colorspace the identifier of the specified Colorspace.
return
the single instance of the desired ColorSpace.

        switch (colorspace) {
            case CS_sRGB:
                if (cs_sRGB == null) {
                    cs_sRGB = new ICC_ColorSpace(
                            new ICC_ProfileStub(CS_sRGB));
                    LUTColorConverter.sRGB_CS = cs_sRGB;
                            //ICC_Profile.getInstance (CS_sRGB));
                }
                return cs_sRGB;
            case CS_CIEXYZ:
                if (cs_CIEXYZ == null) {
                    cs_CIEXYZ = new ICC_ColorSpace(
                            new ICC_ProfileStub(CS_CIEXYZ));
                            //ICC_Profile.getInstance (CS_CIEXYZ));
                }
                return cs_CIEXYZ;
            case CS_GRAY:
                if (cs_Gray == null) {
                    cs_Gray = new ICC_ColorSpace(
                            new ICC_ProfileStub(CS_GRAY));
                    LUTColorConverter.LINEAR_GRAY_CS = cs_Gray;
                            //ICC_Profile.getInstance (CS_GRAY));
                }
                return cs_Gray;
            case CS_PYCC:
                if (cs_PYCC == null) {
                    cs_PYCC = new ICC_ColorSpace(
                            new ICC_ProfileStub(CS_PYCC));
                            //ICC_Profile.getInstance (CS_PYCC));
                }
                return cs_PYCC;
            case CS_LINEAR_RGB:
                if (cs_LRGB == null) {
                    cs_LRGB = new ICC_ColorSpace(
                            new ICC_ProfileStub(CS_LINEAR_RGB));
                    LUTColorConverter.LINEAR_GRAY_CS = cs_Gray;
                            //ICC_Profile.getInstance (CS_LINEAR_RGB));
                }
                return cs_LRGB;
            default:
        }

        // Unknown argument passed
        // awt.16B=Not a predefined colorspace
        throw new IllegalArgumentException(Messages.getString("Not a predefined colorspace")); //$NON-NLS-1$
    
public floatgetMaxValue(int component)
Gets the maximum normalized color component value for the specified component.

param
component the component to determine the maximum value.
return
the maximum normalized value of the component.

        if (component < 0 || component > numComponents - 1) {
            // awt.16A=Invalid component index: {0}
            throw new IllegalArgumentException(Messages.getString("awt.16A", component)); //$NON-NLS-1$
        }
        return 1;
    
public floatgetMinValue(int component)
Gets the minimum normalized color component value for the specified component.

param
component the component to determine the minimum value.
return
the minimum normalized value of the component.

        if (component < 0 || component > numComponents - 1) {
            // awt.16A=Invalid component index: {0}
            throw new IllegalArgumentException(Messages.getString("awt.16A", component)); //$NON-NLS-1$
        }
        return 0;
    
public java.lang.StringgetName(int idx)
Gets the name of the component for the specified component index.

param
idx the index of the component.
return
the name of the component.

        if (idx < 0 || idx > numComponents - 1) {
            // awt.16A=Invalid component index: {0}
            throw new IllegalArgumentException(Messages.getString("awt.16A", idx)); //$NON-NLS-1$
        }

      return "Unnamed color component #" + idx; //$NON-NLS-1$
    
public intgetNumComponents()
Gets the number of components for this ColorSpace.

return
the number of components.

        return numComponents;
    
public intgetType()
Gets the type of the ColorSpace.

return
the type of the ColorSpace.

        return type;
    
public booleanisCS_sRGB()
Checks if this ColorSpace has CS_sRGB type or not.

return
true, if this ColorSpace has CS_sRGB type, false otherwise.

        // If our color space is sRGB, then cs_sRGB
        // is already initialized
        return (this == cs_sRGB);
    
public abstract float[]toCIEXYZ(float[] colorvalue)
Performs the transformation of a color from this ColorSpace into the CS_CIEXYZ color space.

param
colorvalue the color value in this ColorSpace.
return
the float array with color components in the CS_CIEXYZ color space.

public abstract float[]toRGB(float[] colorvalue)
Performs the transformation of a color from this ColorSpace into the RGB color space.

param
colorvalue the color value in this ColorSpace.
return
the float array with color components in the RGB color space.