|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--java.awt.color.ICC_Profile | +--java.awt.color.ICC_ProfileRGB
A subclass of the ICC_Profile class which represents profiles which meet the following criteria: the color space type of the profile is RGB and the profile includes the redColorantTag, greenColorantTag, blueColorantTag, redTRCTag, greenTRCTag, blueTRCTag, and mediaWhitePointTag tags. Examples of this kind of profile are three-component matrix-based input profiles and RGB display profiles. The getInstance methods in the ICC_Profile class will return an ICC_ProfileRGB object when the above conditions are met. The advantage of this class is that it provides color transform matrices and lookup tables that Java or native methods may be able to use directly to optimize color conversion in some cases.
To transform from a device profile color space to the CIEXYZ Profile Connection Space, each device color component is first linearized by a lookup through the corresponding tone reproduction curve (TRC). Then the resulting linear RGB components are converted via a 3x3 matrix (constructed from the RGB colorants) to the CIEXYZ PCS.
linearR = redTRC[deviceR] linearG = greenTRC[deviceG] linearB = blueTRC[deviceB] _ _ _ _ _ _ [ PCSX ] [ redColorantX greenColorantX blueColorantX ] [ linearR ] [ ] [ ] [ ] [ PCSY ] = [ redColorantY greenColorantY blueColorantY ] [ linearG ] [ ] [ ] [ ] [_ PCSZ _] [_ redColorantZ greenColorantZ blueColorantZ _] [_ linearB _]The inverse transform is done by converting PCS XYZ components to linear RGB components via the inverse of the above 3x3 matrix, and then converting linear RGB to device RGB via inverses of the TRCs.
Field Summary | |
static int |
BLUECOMPONENT
To request a gamma value or TRC for the blue component. |
static int |
GREENCOMPONENT
To request a gamma value or TRC for the green component. |
static int |
REDCOMPONENT
To request a gamma value or TRC for the red component. |
Method Summary | |
float |
getGamma(int component)
Returns a gamma value representing the tone reproduction curve (TRC) for a particular component. |
float[][] |
getMatrix()
Returns a 3x3 float matrix constructed from the X, Y, and Z components of the redColorantTag, greenColorantTag, and blueColorantTag in the ICC profile, as described above. |
float[] |
getMediaWhitePoint()
Returns a float array of length 3 containing the X, Y, and Z components of the mediaWhitePointTag in the ICC profile. |
short[] |
getTRC(int component)
Returns the TRC for a particular component as an array of shorts. |
Methods inherited from class java.awt.color.ICC_Profile |
finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write |
Methods inherited from class java.lang.Object |
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static final int REDCOMPONENT
public static final int GREENCOMPONENT
public static final int BLUECOMPONENT
Method Detail |
public float[] getMediaWhitePoint()
public float[][] getMatrix()
public float getGamma(int component)
gamma linearComponent = deviceComponent
ProfileDataException
- if the profile does not specify
the corresponding TRC as a single gamma value.public short[] getTRC(int component)
ProfileDataException
- if the profile does not specify
the corresponding TRC as a table.
|
JavaTM 2 Platform Std. Ed. v1.3.1 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Java, Java 2D, and JDBC are trademarks or registered trademarks of Oracle and/or its affiliates, in the US and other countries.
Copyright © 1995, 2010 Oracle and/or its affiliates. All rights reserved.