Serializable
ICC_ProfileGray
, ICC_ProfileRGB
public sealed class ICC_Profile extends Object implements Serializable permits ICC_ProfileGray, ICC_ProfileRGB
An ICC_ColorSpace
object can be constructed from an appropriate ICC_Profile
. Typically, an ICC_ColorSpace
would be associated with an ICC Profile which is either an input, display, or output profile (see the ICC specification). There are also device link, abstract, color space conversion, and named color profiles. These are less useful for tagging a color or image, but are useful for other purposes (in particular device link profiles can provide improved performance for converting from one device's color space to another's).
ICC Profiles represent transformations from the color space of the profile (e.g. a monitor) to a Profile Connection Space (PCS). Profiles of interest for tagging images or colors have a PCS which is one of the two specific device independent spaces (one CIEXYZ space and one CIELab space) defined in the ICC Profile Format Specification. Most profiles of interest either have invertible transformations or explicitly specify transformations going both directions.
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. |
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 |
Returns a particular tagged data element from the profile as a byte array. |
static ICC_Profile |
getInstance |
Constructs an ICC_Profile object corresponding to the data in a byte array. |
static ICC_Profile |
getInstance |
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 |
Constructs an ICC_Profile corresponding to the data in an InputStream . |
static ICC_Profile |
getInstance |
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 |
Sets a particular tagged data element in the profile from a byte array. |
void |
write |
Write this ICC_Profile to an OutputStream . |
void |
write |
Write this ICC_Profile to a file. |
public static final int CLASS_INPUT
public static final int CLASS_DISPLAY
public static final int CLASS_OUTPUT
public static final int CLASS_DEVICELINK
public static final int CLASS_COLORSPACECONVERSION
public static final int CLASS_ABSTRACT
public static final int CLASS_NAMEDCOLOR
public static final int icSigXYZData
public static final int icSigLabData
public static final int icSigLuvData
public static final int icSigYCbCrData
public static final int icSigYxyData
public static final int icSigRgbData
public static final int icSigGrayData
public static final int icSigHsvData
public static final int icSigHlsData
public static final int icSigCmykData
public static final int icSigCmyData
public static final int icSigSpace2CLR
public static final int icSigSpace3CLR
public static final int icSigSpace4CLR
public static final int icSigSpace5CLR
public static final int icSigSpace6CLR
public static final int icSigSpace7CLR
public static final int icSigSpace8CLR
public static final int icSigSpace9CLR
public static final int icSigSpaceACLR
public static final int icSigSpaceBCLR
public static final int icSigSpaceCCLR
public static final int icSigSpaceDCLR
public static final int icSigSpaceECLR
public static final int icSigSpaceFCLR
public static final int icSigInputClass
public static final int icSigDisplayClass
public static final int icSigOutputClass
public static final int icSigLinkClass
public static final int icSigAbstractClass
public static final int icSigColorSpaceClass
public static final int icSigNamedColorClass
public static final int icPerceptual
public static final int icRelativeColorimetric
public static final int icMediaRelativeColorimetric
public static final int icSaturation
public static final int icAbsoluteColorimetric
public static final int icICCAbsoluteColorimetric
public static final int icSigHead
public static final int icSigAToB0Tag
public static final int icSigAToB1Tag
public static final int icSigAToB2Tag
public static final int icSigBlueColorantTag
public static final int icSigBlueMatrixColumnTag
public static final int icSigBlueTRCTag
public static final int icSigBToA0Tag
public static final int icSigBToA1Tag
public static final int icSigBToA2Tag
public static final int icSigCalibrationDateTimeTag
public static final int icSigCharTargetTag
public static final int icSigCopyrightTag
public static final int icSigCrdInfoTag
public static final int icSigDeviceMfgDescTag
public static final int icSigDeviceModelDescTag
public static final int icSigDeviceSettingsTag
public static final int icSigGamutTag
public static final int icSigGrayTRCTag
public static final int icSigGreenColorantTag
public static final int icSigGreenMatrixColumnTag
public static final int icSigGreenTRCTag
public static final int icSigLuminanceTag
public static final int icSigMeasurementTag
public static final int icSigMediaBlackPointTag
public static final int icSigMediaWhitePointTag
public static final int icSigNamedColor2Tag
public static final int icSigOutputResponseTag
public static final int icSigPreview0Tag
public static final int icSigPreview1Tag
public static final int icSigPreview2Tag
public static final int icSigProfileDescriptionTag
public static final int icSigProfileSequenceDescTag
public static final int icSigPs2CRD0Tag
public static final int icSigPs2CRD1Tag
public static final int icSigPs2CRD2Tag
public static final int icSigPs2CRD3Tag
public static final int icSigPs2CSATag
public static final int icSigPs2RenderingIntentTag
public static final int icSigRedColorantTag
public static final int icSigRedMatrixColumnTag
public static final int icSigRedTRCTag
public static final int icSigScreeningDescTag
public static final int icSigScreeningTag
public static final int icSigTechnologyTag
public static final int icSigUcrBgTag
public static final int icSigViewingCondDescTag
public static final int icSigViewingConditionsTag
public static final int icSigChromaticityTag
public static final int icSigChromaticAdaptationTag
public static final int icSigColorantOrderTag
public static final int icSigColorantTableTag
public static final int icHdrSize
public static final int icHdrCmmId
public static final int icHdrVersion
public static final int icHdrDeviceClass
public static final int icHdrColorSpace
public static final int icHdrPcs
public static final int icHdrDate
public static final int icHdrMagic
public static final int icHdrPlatform
public static final int icHdrFlags
public static final int icHdrManufacturer
public static final int icHdrModel
public static final int icHdrAttributes
public static final int icHdrRenderingIntent
public static final int icHdrIlluminant
public static final int icHdrCreator
public static final int icHdrProfileID
public static final int icTagType
public static final int icTagReserved
public static final int icCurveCount
public static final int icCurveData
public static final int icXYZNumberX
public static ICC_Profile getInstance(byte[] data)
ICC_Profile
object corresponding to the data in a byte array.data
- the specified ICC Profile dataICC_Profile
object corresponding to the data in the specified data
arrayIllegalArgumentException
- If the byte array does not contain valid ICC Profile datapublic static ICC_Profile getInstance(int cspace)
ICC_Profile
corresponding to one of the specific color spaces defined by the ColorSpace
class (for example CS_sRGB
). Throws an IllegalArgumentException
if cspace is not one of the defined color spaces.cspace
- the type of color space to create a profile for. The specified type is one of the color space constants defined in the ColorSpace
class.ICC_Profile
object corresponding to the specified ColorSpace
typeIllegalArgumentException
- If cspace
is not one of the predefined color space typespublic static ICC_Profile getInstance(String fileName) throws IOException
ICC_Profile
corresponding to the data in a file. fileName
may be an absolute or a relative file specification. Relative file names are looked for in several places: first, relative to any directories specified by the java.iccprofile.path
property; second, relative to any directories specified by the java.class.path
property; finally, in a directory used to store profiles always available, such as the profile for sRGB. Built-in profiles use .pf
as the file name extension for profiles, e.g. sRGB.pf
.fileName
- the file that contains the data for the profileICC_Profile
object corresponding to the data in the specified fileIOException
- If the specified file cannot be opened or an I/O error occurs while reading the fileIllegalArgumentException
- If the file does not contain valid ICC Profile dataSecurityException
- If a security manager is installed and it does not permit read access to the given fileNullPointerException
- if fileName
is null
public static ICC_Profile getInstance(InputStream s) throws IOException
ICC_Profile
corresponding to the data in an InputStream
.s
- the input stream from which to read the profile dataICC_Profile
object corresponding to the data in the specified InputStream
IOException
- If an I/O error occurs while reading the streamIllegalArgumentException
- If the stream does not contain valid ICC Profile dataNullPointerException
- if s
is null
public int getMajorVersion()
public int getMinorVersion()
public int getProfileClass()
public int getColorSpaceType()
ColorSpace
class. This is the "input" color space of the profile. The type defines the number of components of the color space and the interpretation, e.g. TYPE_RGB
identifies a color space with three components - red, green, and blue. It does not define the particular color characteristics of the space, e.g. the chromaticities of the primaries.ColorSpace
classpublic int getPCSType()
TYPE_XYZ
or TYPE_Lab
and should be interpreted as the corresponding specific color space defined in the ICC specification. For a device link profile, this could be any of the color space type constants.ColorSpace
classpublic void write(String fileName) throws IOException
ICC_Profile
to a file.fileName
- the file to write the profile data toIOException
- If the file cannot be opened for writing or an I/O error occurs while writing to the fileNullPointerException
- if fileName
is null
public void write(OutputStream s) throws IOException
ICC_Profile
to an OutputStream
.s
- the stream to write the profile data toIOException
- If an I/O error occurs while writing to the streamNullPointerException
- if s
is null
public byte[] getData()
ICC_Profile
.public byte[] getData(int tagSignature)
tagSignature
- the ICC tag signature for the data element you want to getnull
if the specified tag doesn't exist.public void setData(int tagSignature, byte[] tagData)
tagSignature
as defined in the ICC specification, section 10. This method is useful for advanced applications which need to access profile data directly.tagSignature
- the ICC tag signature for the data element you want to settagData
- the data to set for the specified tag signatureIllegalArgumentException
- if tagSignature
is not a signature as defined in the ICC specification.IllegalArgumentException
- if a content of the tagData
array can not be interpreted as valid tag data, corresponding to the tagSignature
public int getNumComponents()
TYPE_RGB
, then this method will return 3.ProfileDataException
- if color space is in the profile is invalidprotected Object readResolve() throws ObjectStreamException
ObjectStreamException
- never thrown, but mandated by the serialization spec
© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/java/awt/color/ICC_Profile.html