Spec-Zone.ru › OpenJDK 27

Class ICC_ProfileRGB

java.lang.Object
java.awt.color.ICC_Profile
java.awt.color.ICC_ProfileRGB
All Implemented Interfaces:
Serializable
public final class ICC_ProfileRGB extends ICC_Profile
The ICC_ProfileRGB class is a subclass of the ICC_Profile class that represents profiles which meet the following criteria: the profile's color space type is RGB, and the profile includes the redColorantTag, greenColorantTag, blueColorantTag, redTRCTag, greenTRCTag, blueTRCTag, mediaWhitePointTag tags. The getInstance methods in the ICC_Profile class will return an ICC_ProfileRGB object when the above conditions are met. Three-component, matrix-based input profiles and RGB display profiles are examples of this type of profile.

The advantage of this class is that it provides color transform matrices and lookup tables that Java or native methods can 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). The resulting linear RGB components are converted to the CIEXYZ PCS using a 3x3 matrix constructed from the RGB colorants.


                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 performed by converting PCS XYZ components to linear RGB components through the inverse of the above 3x3 matrix, and then converting linear RGB to device RGB through inverses of the TRCs.
See Also:
  • Serialized Form

Field Summary

Modifier and Type Field Description
static final int BLUECOMPONENT
Used to get a gamma value or TRC for the blue component.
static final int GREENCOMPONENT
Used to get a gamma value or TRC for the green component.
static final int REDCOMPONENT
Used to get a gamma value or TRC for the red component.

Fields declared in class ICC_Profile

CLASS_ABSTRACT, CLASS_COLORSPACECONVERSION, CLASS_DEVICELINK, CLASS_DISPLAY, CLASS_INPUT, CLASS_NAMEDCOLOR, CLASS_OUTPUT, icAbsoluteColorimetric, icCurveCount, icCurveData, icHdrAttributes, icHdrCmmId, icHdrColorSpace, icHdrCreator, icHdrDate, icHdrDeviceClass, icHdrFlags, icHdrIlluminant, icHdrMagic, icHdrManufacturer, icHdrModel, icHdrPcs, icHdrPlatform, icHdrProfileID, icHdrRenderingIntent, icHdrSize, icHdrVersion, icICCAbsoluteColorimetric, icMediaRelativeColorimetric, icPerceptual, icRelativeColorimetric, icSaturation, icSigAbstractClass, icSigAToB0Tag, icSigAToB1Tag, icSigAToB2Tag, icSigBlueColorantTag, icSigBlueMatrixColumnTag, icSigBlueTRCTag, icSigBToA0Tag, icSigBToA1Tag, icSigBToA2Tag, icSigCalibrationDateTimeTag, icSigCharTargetTag, icSigChromaticAdaptationTag, icSigChromaticityTag, icSigCmyData, icSigCmykData, icSigColorantOrderTag, icSigColorantTableTag, icSigColorSpaceClass, icSigCopyrightTag, icSigCrdInfoTag, icSigDeviceMfgDescTag, icSigDeviceModelDescTag, icSigDeviceSettingsTag, icSigDisplayClass, icSigGamutTag, icSigGrayData, icSigGrayTRCTag, icSigGreenColorantTag, icSigGreenMatrixColumnTag, icSigGreenTRCTag, icSigHead, icSigHlsData, icSigHsvData, icSigInputClass, icSigLabData, icSigLinkClass, icSigLuminanceTag, icSigLuvData, icSigMeasurementTag, icSigMediaBlackPointTag, icSigMediaWhitePointTag, icSigNamedColor2Tag, icSigNamedColorClass, icSigOutputClass, icSigOutputResponseTag, icSigPreview0Tag, icSigPreview1Tag, icSigPreview2Tag, icSigProfileDescriptionTag, icSigProfileSequenceDescTag, icSigPs2CRD0Tag, icSigPs2CRD1Tag, icSigPs2CRD2Tag, icSigPs2CRD3Tag, icSigPs2CSATag, icSigPs2RenderingIntentTag, icSigRedColorantTag, icSigRedMatrixColumnTag, icSigRedTRCTag, icSigRgbData, icSigScreeningDescTag, icSigScreeningTag, icSigSpace2CLR, icSigSpace3CLR, icSigSpace4CLR, icSigSpace5CLR, icSigSpace6CLR, icSigSpace7CLR, icSigSpace8CLR, icSigSpace9CLR, icSigSpaceACLR, icSigSpaceBCLR, icSigSpaceCCLR, icSigSpaceDCLR, icSigSpaceECLR, icSigSpaceFCLR, icSigTechnologyTag, icSigUcrBgTag, icSigViewingCondDescTag, icSigViewingConditionsTag, icSigXYZData, icSigYCbCrData, icSigYxyData, icTagReserved, icTagType, icXYZNumberX
Modifier and Type Field Description
static final int CLASS_ABSTRACT
Profile class is abstract.
static final int CLASS_COLORSPACECONVERSION
Profile class is color space conversion.
static final int CLASS_DEVICELINK
Profile class is device link.
static final int CLASS_DISPLAY
Profile class is display.
static final int CLASS_INPUT
Profile class is input.
static final int CLASS_NAMEDCOLOR
Profile class is named color.
static final int CLASS_OUTPUT
Profile class is output.
static final int icAbsoluteColorimetric
ICC Profile Rendering Intent: AbsoluteColorimetric.
static final int icCurveCount
ICC Profile Constant: curveType count.
static final int icCurveData
ICC Profile Constant: curveType data.
static final int icHdrAttributes
ICC Profile Header Location: device attributes.
static final int icHdrCmmId
ICC Profile Header Location: CMM for this profile.
static final int icHdrColorSpace
ICC Profile Header Location: color space of data.
static final int icHdrCreator
ICC Profile Header Location: profile creator.
static final int icHdrDate
ICC Profile Header Location: date profile was created.
static final int icHdrDeviceClass
ICC Profile Header Location: type of profile.
static final int icHdrFlags
ICC Profile Header Location: various bit settings.
static final int icHdrIlluminant
ICC Profile Header Location: profile illuminant.
static final int icHdrMagic
ICC Profile Header Location: icMagicNumber.
static final int icHdrManufacturer
ICC Profile Header Location: device manufacturer.
static final int icHdrModel
ICC Profile Header Location: device model number.
static final int icHdrPcs
ICC Profile Header Location: PCS - XYZ or Lab only.
static final int icHdrPlatform
ICC Profile Header Location: primary platform.
static final int icHdrProfileID
ICC Profile Header Location: profile's ID.
static final int icHdrRenderingIntent
ICC Profile Header Location: rendering intent.
static final int icHdrSize
ICC Profile Header Location: profile size in bytes.
static final int icHdrVersion
ICC Profile Header Location: format version number.
static final int icICCAbsoluteColorimetric
ICC Profile Rendering Intent: ICC-AbsoluteColorimetric.
static final int icMediaRelativeColorimetric
ICC Profile Rendering Intent: Media-RelativeColorimetric.
static final int icPerceptual
ICC Profile Rendering Intent: Perceptual.
static final int icRelativeColorimetric
ICC Profile Rendering Intent: RelativeColorimetric.
static final int icSaturation
ICC Profile Rendering Intent: Saturation.
static final int icSigAbstractClass
ICC Profile Class Signature: 'abst'.
static final int icSigAToB0Tag
ICC Profile Tag Signature: 'A2B0'.
static final int icSigAToB1Tag
ICC Profile Tag Signature: 'A2B1'.
static final int icSigAToB2Tag
ICC Profile Tag Signature: 'A2B2'.
static final int icSigBlueColorantTag
ICC Profile Tag Signature: 'bXYZ'.
static final int icSigBlueMatrixColumnTag
ICC Profile Tag Signature: 'bXYZ'.
static final int icSigBlueTRCTag
ICC Profile Tag Signature: 'bTRC'.
static final int icSigBToA0Tag
ICC Profile Tag Signature: 'B2A0'.
static final int icSigBToA1Tag
ICC Profile Tag Signature: 'B2A1'.
static final int icSigBToA2Tag
ICC Profile Tag Signature: 'B2A2'.
static final int icSigCalibrationDateTimeTag
ICC Profile Tag Signature: 'calt'.
static final int icSigCharTargetTag
ICC Profile Tag Signature: 'targ'.
static final int icSigChromaticAdaptationTag
ICC Profile Tag Signature: 'chad'.
static final int icSigChromaticityTag
ICC Profile Tag Signature: 'chrm'.
static final int icSigCmyData
ICC Profile Color Space Type Signature: 'CMY '.
static final int icSigCmykData
ICC Profile Color Space Type Signature: 'CMYK'.
static final int icSigColorantOrderTag
ICC Profile Tag Signature: 'clro'.
static final int icSigColorantTableTag
ICC Profile Tag Signature: 'clrt'.
static final int icSigColorSpaceClass
ICC Profile Class Signature: 'spac'.
static final int icSigCopyrightTag
ICC Profile Tag Signature: 'cprt'.
static final int icSigCrdInfoTag
ICC Profile Tag Signature: 'crdi'.
static final int icSigDeviceMfgDescTag
ICC Profile Tag Signature: 'dmnd'.
static final int icSigDeviceModelDescTag
ICC Profile Tag Signature: 'dmdd'.
static final int icSigDeviceSettingsTag
ICC Profile Tag Signature: 'devs'.
static final int icSigDisplayClass
ICC Profile Class Signature: 'mntr'.
static final int icSigGamutTag
ICC Profile Tag Signature: 'gamt'.
static final int icSigGrayData
ICC Profile Color Space Type Signature: 'GRAY'.
static final int icSigGrayTRCTag
ICC Profile Tag Signature: 'kTRC'.
static final int icSigGreenColorantTag
ICC Profile Tag Signature: 'gXYZ'.
static final int icSigGreenMatrixColumnTag
ICC Profile Tag Signature: 'gXYZ'.
static final int icSigGreenTRCTag
ICC Profile Tag Signature: 'gTRC'.
static final int icSigHead
ICC Profile Tag Signature: 'head' - special.
static final int icSigHlsData
ICC Profile Color Space Type Signature: 'HLS'.
static final int icSigHsvData
ICC Profile Color Space Type Signature: 'HSV'.
static final int icSigInputClass
ICC Profile Class Signature: 'scnr'.
static final int icSigLabData
ICC Profile Color Space Type Signature: 'Lab '.
static final int icSigLinkClass
ICC Profile Class Signature: 'link'.
static final int icSigLuminanceTag
ICC Profile Tag Signature: 'lumi'.
static final int icSigLuvData
ICC Profile Color Space Type Signature: 'Luv '.
static final int icSigMeasurementTag
ICC Profile Tag Signature: 'meas'.
static final int icSigMediaBlackPointTag
ICC Profile Tag Signature: 'bkpt'.
static final int icSigMediaWhitePointTag
ICC Profile Tag Signature: 'wtpt'.
static final int icSigNamedColor2Tag
ICC Profile Tag Signature: 'ncl2'.
static final int icSigNamedColorClass
ICC Profile Class Signature: 'nmcl'.
static final int icSigOutputClass
ICC Profile Class Signature: 'prtr'.
static final int icSigOutputResponseTag
ICC Profile Tag Signature: 'resp'.
static final int icSigPreview0Tag
ICC Profile Tag Signature: 'pre0'.
static final int icSigPreview1Tag
ICC Profile Tag Signature: 'pre1'.
static final int icSigPreview2Tag
ICC Profile Tag Signature: 'pre2'.
static final int icSigProfileDescriptionTag
ICC Profile Tag Signature: 'desc'.
static final int icSigProfileSequenceDescTag
ICC Profile Tag Signature: 'pseq'.
static final int icSigPs2CRD0Tag
ICC Profile Tag Signature: 'psd0'.
static final int icSigPs2CRD1Tag
ICC Profile Tag Signature: 'psd1'.
static final int icSigPs2CRD2Tag
ICC Profile Tag Signature: 'psd2'.
static final int icSigPs2CRD3Tag
ICC Profile Tag Signature: 'psd3'.
static final int icSigPs2CSATag
ICC Profile Tag Signature: 'ps2s'.
static final int icSigPs2RenderingIntentTag
ICC Profile Tag Signature: 'ps2i'.
static final int icSigRedColorantTag
ICC Profile Tag Signature: 'rXYZ'.
static final int icSigRedMatrixColumnTag
ICC Profile Tag Signature: 'rXYZ'.
static final int icSigRedTRCTag
ICC Profile Tag Signature: 'rTRC'.
static final int icSigRgbData
ICC Profile Color Space Type Signature: 'RGB '.
static final int icSigScreeningDescTag
ICC Profile Tag Signature: 'scrd'.
static final int icSigScreeningTag
ICC Profile Tag Signature: 'scrn'.
static final int icSigSpace2CLR
ICC Profile Color Space Type Signature: '2CLR'.
static final int icSigSpace3CLR
ICC Profile Color Space Type Signature: '3CLR'.
static final int icSigSpace4CLR
ICC Profile Color Space Type Signature: '4CLR'.
static final int icSigSpace5CLR
ICC Profile Color Space Type Signature: '5CLR'.
static final int icSigSpace6CLR
ICC Profile Color Space Type Signature: '6CLR'.
static final int icSigSpace7CLR
ICC Profile Color Space Type Signature: '7CLR'.
static final int icSigSpace8CLR
ICC Profile Color Space Type Signature: '8CLR'.
static final int icSigSpace9CLR
ICC Profile Color Space Type Signature: '9CLR'.
static final int icSigSpaceACLR
ICC Profile Color Space Type Signature: 'ACLR'.
static final int icSigSpaceBCLR
ICC Profile Color Space Type Signature: 'BCLR'.
static final int icSigSpaceCCLR
ICC Profile Color Space Type Signature: 'CCLR'.
static final int icSigSpaceDCLR
ICC Profile Color Space Type Signature: 'DCLR'.
static final int icSigSpaceECLR
ICC Profile Color Space Type Signature: 'ECLR'.
static final int icSigSpaceFCLR
ICC Profile Color Space Type Signature: 'FCLR'.
static final int icSigTechnologyTag
ICC Profile Tag Signature: 'tech'.
static final int icSigUcrBgTag
ICC Profile Tag Signature: 'bfd '.
static final int icSigViewingCondDescTag
ICC Profile Tag Signature: 'vued'.
static final int icSigViewingConditionsTag
ICC Profile Tag Signature: 'view'.
static final int icSigXYZData
ICC Profile Color Space Type Signature: 'XYZ '.
static final int icSigYCbCrData
ICC Profile Color Space Type Signature: 'YCbr'.
static final int icSigYxyData
ICC Profile Color Space Type Signature: 'Yxy '.
static final int icTagReserved
ICC Profile Constant: reserved.
static final int icTagType
ICC Profile Constant: tag type signature.
static final int icXYZNumberX
ICC Profile Constant: XYZNumber X.

Method Summary

Modifier and Type Method Description
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 profile's redColorantTag, greenColorantTag, and blueColorantTag.
float[] getMediaWhitePoint()
Returns an array that contains the components of the profile's mediaWhitePointTag.
short[] getTRC(int component)
Returns the TRC for a particular component as an array.

Methods declared in class ICC_Profile

getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write
Modifier and Type Method Description
int getColorSpaceType()
Returns the color space type.
byte[] getData()
Returns a byte array corresponding to the data of this ICC_Profile.
byte[] getData(int tagSignature)
Returns a particular tagged data element from the profile as a byte array.
static ICC_Profile getInstance(byte[] data)
Constructs an ICC_Profile object corresponding to the data in a byte array.
static ICC_Profile getInstance(int cspace)
Constructs an ICC_Profile corresponding to one of the specific color spaces defined by the ColorSpace class (for example CS_sRGB).
static ICC_Profile getInstance(InputStream s)
Constructs an ICC_Profile corresponding to the data in an InputStream.
static ICC_Profile getInstance(String fileName)
Constructs an ICC_Profile corresponding to the data in a file.
int getMajorVersion()
Returns profile major version.
int getMinorVersion()
Returns profile minor version.
int getNumComponents()
Returns the number of color components in the "input" color space of this profile.
int getPCSType()
Returns the color space type of the Profile Connection Space (PCS).
int getProfileClass()
Returns the profile class.
protected Object readResolve()
Resolves instances being deserialized into instances registered with CMM.
void setData(int tagSignature, byte[] tagData)
Sets a particular tagged data element in the profile from a byte array.
void write(OutputStream s)
Write this ICC_Profile to an OutputStream.
void write(String fileName)
Write this ICC_Profile to a file.

Methods declared in class Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and Type Method Description
protected Object clone()
Creates and returns a copy of this object.
boolean equals(Object obj)
Indicates whether some other object is "equal to" this one.
protected void finalize()
Deprecated, for removal: This API element is subject to removal in a future version.
Finalization is deprecated and subject to removal in a future release.
final Class<?> getClass()
Returns the runtime class of this Object.
int hashCode()
Returns a hash code value for this object.
final void notify()
Wakes up a single thread that is waiting on this object's monitor.
final void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
String toString()
Returns a string representation of the object.
final void wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.
final void wait(long timeoutMillis)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
final void wait(long timeoutMillis, int nanos)
Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.

Field Details

REDCOMPONENT

public static final int REDCOMPONENT
Used to get a gamma value or TRC for the red component.
See Also:
  • Constant Field Values

GREENCOMPONENT

public static final int GREENCOMPONENT
Used to get a gamma value or TRC for the green component.
See Also:
  • Constant Field Values

BLUECOMPONENT

public static final int BLUECOMPONENT
Used to get a gamma value or TRC for the blue component.
See Also:
  • Constant Field Values

Method Details

getMediaWhitePoint

public float[] getMediaWhitePoint()
Returns an array that contains the components of the profile's mediaWhitePointTag.
Returns:
a 3-element float array containing the x, y, and z components of the profile's mediaWhitePointTag

getMatrix

public float[][] getMatrix()
Returns a 3x3 float matrix constructed from the X, Y, and Z components of the profile's redColorantTag, greenColorantTag, and blueColorantTag.

This matrix can be used for color transforms in the forward direction of the profile--from the profile color space to the CIEXYZ PCS.

Returns:
a 3x3 float array that contains the x, y, and z components of the profile's redColorantTag, greenColorantTag, and blueColorantTag

getGamma

public float getGamma(int component)
Returns a gamma value representing the tone reproduction curve (TRC) for a particular component. The component parameter must be one of REDCOMPONENT, GREENCOMPONENT, or BLUECOMPONENT.

If the profile represents the TRC for the corresponding component as a table rather than a single gamma value, an exception is thrown. In this case the actual table can be obtained through the getTRC(int) method. When using a gamma value, the linear component (R, G, or B) is computed as follows:


                                          gamma
         linearComponent = deviceComponent

Parameters:
component - the ICC_ProfileRGB constant that represents the component whose TRC you want to retrieve
Returns:
the gamma value as a float
Throws:
IllegalArgumentException - if the component is not REDCOMPONENT, GREENCOMPONENT, or BLUECOMPONENT
ProfileDataException - if the profile does not specify the corresponding TRC as a single gamma value

getTRC

public short[] getTRC(int component)
Returns the TRC for a particular component as an array. Component must be REDCOMPONENT, GREENCOMPONENT, or BLUECOMPONENT. Otherwise the returned array represents a lookup table where the input component 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 might be used to generate output values for input values that 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. In other words, the values are really unsigned short values even though they are returned in a short array.

If the profile has specified the corresponding TRC as linear (gamma = 1.0) or as a simple gamma value, this method throws an exception. In this case, the getGamma(int) method should be used to get the gamma value.

Parameters:
component - the ICC_ProfileRGB constant that represents the component whose TRC you want to retrieve: REDCOMPONENT, GREENCOMPONENT, or BLUECOMPONENT
Returns:
a short array representing the TRC
Throws:
IllegalArgumentException - if the component is not REDCOMPONENT, GREENCOMPONENT, or BLUECOMPONENT
ProfileDataException - if the profile does not specify the corresponding TRC as a table

Report a bug or suggest an enhancement
For further API reference and developer documentation see the Java SE Documentation, which contains more detailed, developer-targeted descriptions with conceptual overviews, definitions of terms, workarounds, and working code examples. Other versions.
Java is a trademark or registered trademark of Oracle and/or its affiliates in the US and other countries.
Copyright © 1993, 2026, Oracle and/or its affiliates, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
All rights reserved. Use is subject to license terms and the documentation redistribution policy.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API