A subclass of the ICC_Profile class which represents profiles
which meet the following criteria: the color space type of the
profile is TYPE_GRAY and the profile includes the grayTRCTag and
mediaWhitePointTag tags. Examples of this kind of profile are
monochrome input profiles, monochrome display profiles, and
monochrome output profiles. The getInstance methods in the
ICC_Profile class will
return an ICC_ProfileGray object when the above conditions are
met. The advantage of this class is that it provides a lookup
table that Java or native methods may be able to use directly to
optimize color conversion in some cases.
To transform from a GRAY device profile color space to the CIEXYZ Profile
Connection Space, the device gray component is transformed by
a lookup through the tone reproduction curve (TRC). The result is
treated as the achromatic component of the PCS.
PCSY = grayTRC[deviceGray]
The inverse transform is done by converting the PCS Y components to
device Gray via the inverse of the grayTRC.
Returns a float array of length 3 containing the X, Y, and Z
components of the mediaWhitePointTag in the ICC profile.
getGamma
public float getGamma()
Returns a gamma value representing the tone reproduction
curve (TRC). If the profile represents the TRC as a table rather
than a single gamma value, then an exception is thrown. In this
case the actual table can be obtained via getTRC(). When
using a gamma value, the PCS Y component is computed as follows:
gamma
PCSY = deviceGray
Returns:
the gamma value as a float.
Throws:
ProfileDataException - if the profile does not specify
the TRC as a single gamma value.
getTRC
public short[] getTRC()
Returns the TRC as an array of shorts. If the profile has
specified the TRC as linear (gamma = 1.0) or as a simple gamma
value, this method throws an exception, and the getGamma() method
should be used to get the gamma value. Otherwise the short array
returned here represents a lookup table where the input Gray value
is conceptually in the range [0.0, 1.0]. Value 0.0 maps
to array index 0 and value 1.0 maps to array index length-1.
Interpolation may be used to generate output values for
input values which do not map exactly to an index in the
array. Output values also map linearly to the range [0.0, 1.0].
Value 0.0 is represented by an array value of 0x0000 and
value 1.0 by 0xFFFF, i.e. the values are really unsigned
short values, although they are returned in a short array.
Submit a bug or feature For further API reference and developer documentation, see Java 2 SDK SE Developer Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Java, Java 2D, and JDBC are trademarks or registered trademarks of Sun Microsystems, Inc. in the US and other countries. Copyright 1993-2001 Sun Microsystems, Inc. 901 San Antonio Road Palo Alto, California, 94303, U.S.A. All Rights Reserved.