com.twelvemonkeys.imageio.color
Class ColorSpaces

java.lang.Object
  extended by com.twelvemonkeys.imageio.color.ColorSpaces

public final class ColorSpaces
extends Object

A helper class for working with ICC color profiles and color spaces.

Standard ICC color profiles are read from system-specific locations for known operating systems.

Color profiles may be configured by placing a property-file com/twelvemonkeys/imageio/color/icc_profiles.properties on the classpath, specifying the full path to the profile. ICC color profiles are probably already present on your system, or can be downloaded from ICC, Adobe or other places.

Example property file:

 # icc_profiles.properties
 ADOBE_RGB_1998=/path/to/Adobe RGB 1998.icc
 GENERIC_CMYK=/path/to/Generic CMYK.icc
 

Version:
$Id: ColorSpaces.java,v 1.0 24.01.11 17.51 haraldk Exp$
Author:
Harald Kuhr, last modified by $Author: haraldk$

Field Summary
static int CS_ADOBE_RGB_1998
          The Adobe RGB 1998 (or compatible) color space.
static int CS_GENERIC_CMYK
          A best-effort "generic" CMYK color space.
 
Method Summary
static ICC_ColorSpace createColorSpace(ICC_Profile profile)
          Creates an ICC color space from the given ICC color profile.
static ColorSpace getColorSpace(int colorSpace)
          Returns the color space specified by the given color space constant.
static boolean isCS_sRGB(ICC_Profile profile)
          Tests whether an ICC color profile is equal to the default sRGB profile.
static boolean isOffendingColorProfile(ICC_Profile profile)
          Tests whether an ICC color profile is known to cause problems for ColorConvertOp.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

CS_ADOBE_RGB_1998

public static final int CS_ADOBE_RGB_1998
The Adobe RGB 1998 (or compatible) color space. Either read from disk or built-in.

See Also:
Constant Field Values

CS_GENERIC_CMYK

public static final int CS_GENERIC_CMYK
A best-effort "generic" CMYK color space. Either read from disk or built-in.

See Also:
Constant Field Values
Method Detail

createColorSpace

public static ICC_ColorSpace createColorSpace(ICC_Profile profile)
Creates an ICC color space from the given ICC color profile.

For standard Java color spaces, the built-in instance is returned. Otherwise, color spaces are looked up from cache and created on demand.

Parameters:
profile - the ICC color profile. May not be null.
Returns:
an ICC color space
Throws:
IllegalArgumentException - if profile is null

isCS_sRGB

public static boolean isCS_sRGB(ICC_Profile profile)
Tests whether an ICC color profile is equal to the default sRGB profile.

Parameters:
profile - the ICC profile to test. May not be null.
Returns:
true if profile is equal to the default sRGB profile.
Throws:
IllegalArgumentException - if profile is null
See Also:
ColorSpace.isCS_sRGB()

isOffendingColorProfile

public static boolean isOffendingColorProfile(ICC_Profile profile)
Tests whether an ICC color profile is known to cause problems for ColorConvertOp.

Note that this method only tests if a color conversion using this profile is known to fail. There's no guarantee that the color conversion will succeed even if this method returns false.

Parameters:
profile - the ICC color profile. May not be null.
Returns:
true if known to be offending, false otherwise
Throws:
IllegalArgumentException - if profile is null

getColorSpace

public static ColorSpace getColorSpace(int colorSpace)
Returns the color space specified by the given color space constant.

For standard Java color spaces, the built-in instance is returned. Otherwise, color spaces are looked up from cache and created on demand.

Parameters:
colorSpace - the color space constant.
Returns:
the ColorSpace specified by the color space constant.
Throws:
IllegalArgumentException - if colorSpace is not one of the defined color spaces (CS_*).
See Also:
ColorSpace, CS_ADOBE_RGB_1998, CS_GENERIC_CMYK


Copyright © 2015. All Rights Reserved.