xmlgraphics-commons 2.3

org.apache.xmlgraphics.java2d.color
Class CIELabColorSpace

java.lang.Object
  extended by java.awt.color.ColorSpace
      extended by org.apache.xmlgraphics.java2d.color.CIELabColorSpace
All Implemented Interfaces:
java.io.Serializable

public class CIELabColorSpace
extends java.awt.color.ColorSpace

This class defines the CIE L*a*b* (CIE 1976) color space. Valid values for L* are between 0 and 100, for a* and b* between -127 and +127.

See Also:
http://en.wikipedia.org/wiki/Lab_color_space, Serialized Form

Field Summary
 
Fields inherited from class java.awt.color.ColorSpace
CS_CIEXYZ, CS_GRAY, CS_LINEAR_RGB, CS_PYCC, CS_sRGB, TYPE_2CLR, TYPE_3CLR, TYPE_4CLR, TYPE_5CLR, TYPE_6CLR, TYPE_7CLR, TYPE_8CLR, TYPE_9CLR, TYPE_ACLR, TYPE_BCLR, TYPE_CCLR, TYPE_CMY, TYPE_CMYK, TYPE_DCLR, TYPE_ECLR, TYPE_FCLR, TYPE_GRAY, TYPE_HLS, TYPE_HSV, TYPE_Lab, TYPE_Luv, TYPE_RGB, TYPE_XYZ, TYPE_YCbCr, TYPE_Yxy
 
Constructor Summary
CIELabColorSpace()
          Default constructor using the D65 white point.
CIELabColorSpace(float[] whitePoint)
          CIE Lab space constructor which allows to give an arbitrary white point.
 
Method Summary
 float[] fromCIEXYZ(float[] colorvalue)
          
 float[] fromRGB(float[] rgbvalue)
          
static float[] getD50WhitePoint()
          Returns the D50 white point.
static float[] getD65WhitePoint()
          Returns the D65 white point.
 float getMaxValue(int component)
          
 float getMinValue(int component)
          
 java.lang.String getName(int component)
          
 float[] getWhitePoint()
          Returns the configured white point.
 float[] toCIEXYZ(float[] colorvalue)
          
 float[] toCIEXYZNative(float l, float a, float b)
          Transforms a color value assumed to be in this ColorSpace into the CS_CIEXYZ conversion color space.
 java.awt.Color toColor(float[] colorvalue, float alpha)
          Creates a Color instance from color values usually used by the L*a*b* color space by scaling them to the 0.0..1.0 range expected by Color's constructor.
 java.awt.Color toColor(float l, float a, float b, float alpha)
          Creates a Color instance from color values usually used by the L*a*b* color space by scaling them to the 0.0..1.0 range expected by Color's constructor.
 float[] toNativeComponents(float[] comps)
          Converts normalized (0..1) color components to CIE L*a*b*'s native value range.
 float[] toRGB(float[] colorvalue)
          
 
Methods inherited from class java.awt.color.ColorSpace
getInstance, getNumComponents, getType, isCS_sRGB
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CIELabColorSpace

public CIELabColorSpace()
Default constructor using the D65 white point.


CIELabColorSpace

public CIELabColorSpace(float[] whitePoint)
CIE Lab space constructor which allows to give an arbitrary white point.

Parameters:
whitePoint - the white point in XYZ coordinates (valid values: 0.0f to 1.0f, although values slightly larger than 1.0f are common)
Method Detail

getD65WhitePoint

public static float[] getD65WhitePoint()
Returns the D65 white point.

Returns:
the D65 white point.

getD50WhitePoint

public static float[] getD50WhitePoint()
Returns the D50 white point.

Returns:
the D50 white point.

getWhitePoint

public float[] getWhitePoint()
Returns the configured white point.

Returns:
the white point in CIE XYZ coordinates

getMinValue

public float getMinValue(int component)

Overrides:
getMinValue in class java.awt.color.ColorSpace

getMaxValue

public float getMaxValue(int component)

Overrides:
getMaxValue in class java.awt.color.ColorSpace

getName

public java.lang.String getName(int component)

Overrides:
getName in class java.awt.color.ColorSpace

fromCIEXYZ

public float[] fromCIEXYZ(float[] colorvalue)

Specified by:
fromCIEXYZ in class java.awt.color.ColorSpace

fromRGB

public float[] fromRGB(float[] rgbvalue)

Specified by:
fromRGB in class java.awt.color.ColorSpace

toCIEXYZ

public float[] toCIEXYZ(float[] colorvalue)

Specified by:
toCIEXYZ in class java.awt.color.ColorSpace

toCIEXYZNative

public float[] toCIEXYZNative(float l,
                              float a,
                              float b)
Transforms a color value assumed to be in this ColorSpace into the CS_CIEXYZ conversion color space. This method uses component values in CIE Lab's native color ranges rather than the normalized values between 0 and 1.

Parameters:
l - the L* component (values between 0 and 100)
a - the a* component (usually between -128 and +128)
b - the b* component (usually between -128 and +128)
Returns:
the XYZ color values
See Also:
toCIEXYZ(float[])

toRGB

public float[] toRGB(float[] colorvalue)

Specified by:
toRGB in class java.awt.color.ColorSpace

toNativeComponents

public float[] toNativeComponents(float[] comps)
Converts normalized (0..1) color components to CIE L*a*b*'s native value range.

Parameters:
comps - the normalized components.
Returns:
the denormalized components

toColor

public java.awt.Color toColor(float[] colorvalue,
                              float alpha)
Creates a Color instance from color values usually used by the L*a*b* color space by scaling them to the 0.0..1.0 range expected by Color's constructor.

Parameters:
colorvalue - the original color values (native value range, i.e. not normalized to 0.0..1.0)
alpha - the alpha component
Returns:
the requested color instance

toColor

public java.awt.Color toColor(float l,
                              float a,
                              float b,
                              float alpha)
Creates a Color instance from color values usually used by the L*a*b* color space by scaling them to the 0.0..1.0 range expected by Color's constructor.

Parameters:
l - the L* component (values between 0 and 100)
a - the a* component (usually between -128 and +127)
b - the b* component (usually between -128 and +127)
alpha - the alpha component (values between 0 and 1)
Returns:
the requested color instance

xmlgraphics-commons 2.3

Copyright 1999-2018 The Apache Software Foundation. All Rights Reserved.