Module java.desktop

Class ICC_Profile

  • All Implemented Interfaces:
    Serializable
    Direct Known Subclasses:
    ICC_ProfileGray, ICC_ProfileRGB


    public class ICC_Profile
    extends Object
    implements Serializable
    A representation of color profile data for device independent and device dependent color spaces based on the International Color Consortium Specification ICC.1:2001-12, File Format for Color Profiles, (see http://www.color.org).

    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.

    See Also:
    ICC_ColorSpace, Serialized Form
    • Field Detail

      • CLASS_INPUT

        public static final int CLASS_INPUT
        Profile class is input.
        See Also:
        Constant Field Values
      • CLASS_DISPLAY

        public static final int CLASS_DISPLAY
        Profile class is display.
        See Also:
        Constant Field Values
      • CLASS_OUTPUT

        public static final int CLASS_OUTPUT
        Profile class is output.
        See Also:
        Constant Field Values
      • CLASS_DEVICELINK

        public static final int CLASS_DEVICELINK
        Profile class is device link.
        See Also:
        Constant Field Values
      • CLASS_COLORSPACECONVERSION

        public static final int CLASS_COLORSPACECONVERSION
        Profile class is color space conversion.
        See Also:
        Constant Field Values
      • CLASS_ABSTRACT

        public static final int CLASS_ABSTRACT
        Profile class is abstract.
        See Also:
        Constant Field Values
      • CLASS_NAMEDCOLOR

        public static final int CLASS_NAMEDCOLOR
        Profile class is named color.
        See Also:
        Constant Field Values
      • icSigXYZData

        public static final int icSigXYZData
        ICC Profile Color Space Type Signature: 'XYZ '.
        See Also:
        Constant Field Values
      • icSigLabData

        public static final int icSigLabData
        ICC Profile Color Space Type Signature: 'Lab '.
        See Also:
        Constant Field Values
      • icSigLuvData

        public static final int icSigLuvData
        ICC Profile Color Space Type Signature: 'Luv '.
        See Also:
        Constant Field Values
      • icSigYCbCrData

        public static final int icSigYCbCrData
        ICC Profile Color Space Type Signature: 'YCbr'.
        See Also:
        Constant Field Values
      • icSigYxyData

        public static final int icSigYxyData
        ICC Profile Color Space Type Signature: 'Yxy '.
        See Also:
        Constant Field Values
      • icSigRgbData

        public static final int icSigRgbData
        ICC Profile Color Space Type Signature: 'RGB '.
        See Also:
        Constant Field Values
      • icSigGrayData

        public static final int icSigGrayData
        ICC Profile Color Space Type Signature: 'GRAY'.
        See Also:
        Constant Field Values
      • icSigHsvData

        public static final int icSigHsvData
        ICC Profile Color Space Type Signature: 'HSV'.
        See Also:
        Constant Field Values
      • icSigHlsData

        public static final int icSigHlsData
        ICC Profile Color Space Type Signature: 'HLS'.
        See Also:
        Constant Field Values
      • icSigCmykData

        public static final int icSigCmykData
        ICC Profile Color Space Type Signature: 'CMYK'.
        See Also:
        Constant Field Values
      • icSigCmyData

        public static final int icSigCmyData
        ICC Profile Color Space Type Signature: 'CMY '.
        See Also:
        Constant Field Values
      • icSigSpace2CLR

        public static final int icSigSpace2CLR
        ICC Profile Color Space Type Signature: '2CLR'.
        See Also:
        Constant Field Values
      • icSigSpace3CLR

        public static final int icSigSpace3CLR
        ICC Profile Color Space Type Signature: '3CLR'.
        See Also:
        Constant Field Values
      • icSigSpace4CLR

        public static final int icSigSpace4CLR
        ICC Profile Color Space Type Signature: '4CLR'.
        See Also:
        Constant Field Values
      • icSigSpace5CLR

        public static final int icSigSpace5CLR
        ICC Profile Color Space Type Signature: '5CLR'.
        See Also:
        Constant Field Values
      • icSigSpace6CLR

        public static final int icSigSpace6CLR
        ICC Profile Color Space Type Signature: '6CLR'.
        See Also:
        Constant Field Values
      • icSigSpace7CLR

        public static final int icSigSpace7CLR
        ICC Profile Color Space Type Signature: '7CLR'.
        See Also:
        Constant Field Values
      • icSigSpace8CLR

        public static final int icSigSpace8CLR
        ICC Profile Color Space Type Signature: '8CLR'.
        See Also:
        Constant Field Values
      • icSigSpace9CLR

        public static final int icSigSpace9CLR
        ICC Profile Color Space Type Signature: '9CLR'.
        See Also:
        Constant Field Values
      • icSigSpaceACLR

        public static final int icSigSpaceACLR
        ICC Profile Color Space Type Signature: 'ACLR'.
        See Also:
        Constant Field Values
      • icSigSpaceBCLR

        public static final int icSigSpaceBCLR
        ICC Profile Color Space Type Signature: 'BCLR'.
        See Also:
        Constant Field Values
      • icSigSpaceCCLR

        public static final int icSigSpaceCCLR
        ICC Profile Color Space Type Signature: 'CCLR'.
        See Also:
        Constant Field Values
      • icSigSpaceDCLR

        public static final int icSigSpaceDCLR
        ICC Profile Color Space Type Signature: 'DCLR'.
        See Also:
        Constant Field Values
      • icSigSpaceECLR

        public static final int icSigSpaceECLR
        ICC Profile Color Space Type Signature: 'ECLR'.
        See Also:
        Constant Field Values
      • icSigSpaceFCLR

        public static final int icSigSpaceFCLR
        ICC Profile Color Space Type Signature: 'FCLR'.
        See Also:
        Constant Field Values
      • icSigInputClass

        public static final int icSigInputClass
        ICC Profile Class Signature: 'scnr'.
        See Also:
        Constant Field Values
      • icSigDisplayClass

        public static final int icSigDisplayClass
        ICC Profile Class Signature: 'mntr'.
        See Also:
        Constant Field Values
      • icSigOutputClass

        public static final int icSigOutputClass
        ICC Profile Class Signature: 'prtr'.
        See Also:
        Constant Field Values
      • icSigLinkClass

        public static final int icSigLinkClass
        ICC Profile Class Signature: 'link'.
        See Also:
        Constant Field Values
      • icSigAbstractClass

        public static final int icSigAbstractClass
        ICC Profile Class Signature: 'abst'.
        See Also:
        Constant Field Values
      • icSigColorSpaceClass

        public static final int icSigColorSpaceClass
        ICC Profile Class Signature: 'spac'.
        See Also:
        Constant Field Values
      • icSigNamedColorClass

        public static final int icSigNamedColorClass
        ICC Profile Class Signature: 'nmcl'.
        See Also:
        Constant Field Values
      • icPerceptual

        public static final int icPerceptual
        ICC Profile Rendering Intent: Perceptual.
        See Also:
        Constant Field Values
      • icRelativeColorimetric

        public static final int icRelativeColorimetric
        ICC Profile Rendering Intent: RelativeColorimetric.
        See Also:
        Constant Field Values
      • icMediaRelativeColorimetric

        public static final int icMediaRelativeColorimetric
        ICC Profile Rendering Intent: Media-RelativeColorimetric.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSaturation

        public static final int icSaturation
        ICC Profile Rendering Intent: Saturation.
        See Also:
        Constant Field Values
      • icAbsoluteColorimetric

        public static final int icAbsoluteColorimetric
        ICC Profile Rendering Intent: AbsoluteColorimetric.
        See Also:
        Constant Field Values
      • icICCAbsoluteColorimetric

        public static final int icICCAbsoluteColorimetric
        ICC Profile Rendering Intent: ICC-AbsoluteColorimetric.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSigHead

        public static final int icSigHead
        ICC Profile Tag Signature: 'head' - special.
        See Also:
        Constant Field Values
      • icSigAToB0Tag

        public static final int icSigAToB0Tag
        ICC Profile Tag Signature: 'A2B0'.
        See Also:
        Constant Field Values
      • icSigAToB1Tag

        public static final int icSigAToB1Tag
        ICC Profile Tag Signature: 'A2B1'.
        See Also:
        Constant Field Values
      • icSigAToB2Tag

        public static final int icSigAToB2Tag
        ICC Profile Tag Signature: 'A2B2'.
        See Also:
        Constant Field Values
      • icSigBlueColorantTag

        public static final int icSigBlueColorantTag
        ICC Profile Tag Signature: 'bXYZ'.
        See Also:
        Constant Field Values
      • icSigBlueMatrixColumnTag

        public static final int icSigBlueMatrixColumnTag
        ICC Profile Tag Signature: 'bXYZ'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSigBlueTRCTag

        public static final int icSigBlueTRCTag
        ICC Profile Tag Signature: 'bTRC'.
        See Also:
        Constant Field Values
      • icSigBToA0Tag

        public static final int icSigBToA0Tag
        ICC Profile Tag Signature: 'B2A0'.
        See Also:
        Constant Field Values
      • icSigBToA1Tag

        public static final int icSigBToA1Tag
        ICC Profile Tag Signature: 'B2A1'.
        See Also:
        Constant Field Values
      • icSigBToA2Tag

        public static final int icSigBToA2Tag
        ICC Profile Tag Signature: 'B2A2'.
        See Also:
        Constant Field Values
      • icSigCalibrationDateTimeTag

        public static final int icSigCalibrationDateTimeTag
        ICC Profile Tag Signature: 'calt'.
        See Also:
        Constant Field Values
      • icSigCharTargetTag

        public static final int icSigCharTargetTag
        ICC Profile Tag Signature: 'targ'.
        See Also:
        Constant Field Values
      • icSigCopyrightTag

        public static final int icSigCopyrightTag
        ICC Profile Tag Signature: 'cprt'.
        See Also:
        Constant Field Values
      • icSigCrdInfoTag

        public static final int icSigCrdInfoTag
        ICC Profile Tag Signature: 'crdi'.
        See Also:
        Constant Field Values
      • icSigDeviceMfgDescTag

        public static final int icSigDeviceMfgDescTag
        ICC Profile Tag Signature: 'dmnd'.
        See Also:
        Constant Field Values
      • icSigDeviceModelDescTag

        public static final int icSigDeviceModelDescTag
        ICC Profile Tag Signature: 'dmdd'.
        See Also:
        Constant Field Values
      • icSigDeviceSettingsTag

        public static final int icSigDeviceSettingsTag
        ICC Profile Tag Signature: 'devs'.
        See Also:
        Constant Field Values
      • icSigGamutTag

        public static final int icSigGamutTag
        ICC Profile Tag Signature: 'gamt'.
        See Also:
        Constant Field Values
      • icSigGrayTRCTag

        public static final int icSigGrayTRCTag
        ICC Profile Tag Signature: 'kTRC'.
        See Also:
        Constant Field Values
      • icSigGreenColorantTag

        public static final int icSigGreenColorantTag
        ICC Profile Tag Signature: 'gXYZ'.
        See Also:
        Constant Field Values
      • icSigGreenMatrixColumnTag

        public static final int icSigGreenMatrixColumnTag
        ICC Profile Tag Signature: 'gXYZ'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSigGreenTRCTag

        public static final int icSigGreenTRCTag
        ICC Profile Tag Signature: 'gTRC'.
        See Also:
        Constant Field Values
      • icSigLuminanceTag

        public static final int icSigLuminanceTag
        ICC Profile Tag Signature: 'lumi'.
        See Also:
        Constant Field Values
      • icSigMeasurementTag

        public static final int icSigMeasurementTag
        ICC Profile Tag Signature: 'meas'.
        See Also:
        Constant Field Values
      • icSigMediaBlackPointTag

        public static final int icSigMediaBlackPointTag
        ICC Profile Tag Signature: 'bkpt'.
        See Also:
        Constant Field Values
      • icSigMediaWhitePointTag

        public static final int icSigMediaWhitePointTag
        ICC Profile Tag Signature: 'wtpt'.
        See Also:
        Constant Field Values
      • icSigNamedColor2Tag

        public static final int icSigNamedColor2Tag
        ICC Profile Tag Signature: 'ncl2'.
        See Also:
        Constant Field Values
      • icSigOutputResponseTag

        public static final int icSigOutputResponseTag
        ICC Profile Tag Signature: 'resp'.
        See Also:
        Constant Field Values
      • icSigPreview0Tag

        public static final int icSigPreview0Tag
        ICC Profile Tag Signature: 'pre0'.
        See Also:
        Constant Field Values
      • icSigPreview1Tag

        public static final int icSigPreview1Tag
        ICC Profile Tag Signature: 'pre1'.
        See Also:
        Constant Field Values
      • icSigPreview2Tag

        public static final int icSigPreview2Tag
        ICC Profile Tag Signature: 'pre2'.
        See Also:
        Constant Field Values
      • icSigProfileDescriptionTag

        public static final int icSigProfileDescriptionTag
        ICC Profile Tag Signature: 'desc'.
        See Also:
        Constant Field Values
      • icSigProfileSequenceDescTag

        public static final int icSigProfileSequenceDescTag
        ICC Profile Tag Signature: 'pseq'.
        See Also:
        Constant Field Values
      • icSigPs2CRD0Tag

        public static final int icSigPs2CRD0Tag
        ICC Profile Tag Signature: 'psd0'.
        See Also:
        Constant Field Values
      • icSigPs2CRD1Tag

        public static final int icSigPs2CRD1Tag
        ICC Profile Tag Signature: 'psd1'.
        See Also:
        Constant Field Values
      • icSigPs2CRD2Tag

        public static final int icSigPs2CRD2Tag
        ICC Profile Tag Signature: 'psd2'.
        See Also:
        Constant Field Values
      • icSigPs2CRD3Tag

        public static final int icSigPs2CRD3Tag
        ICC Profile Tag Signature: 'psd3'.
        See Also:
        Constant Field Values
      • icSigPs2CSATag

        public static final int icSigPs2CSATag
        ICC Profile Tag Signature: 'ps2s'.
        See Also:
        Constant Field Values
      • icSigPs2RenderingIntentTag

        public static final int icSigPs2RenderingIntentTag
        ICC Profile Tag Signature: 'ps2i'.
        See Also:
        Constant Field Values
      • icSigRedColorantTag

        public static final int icSigRedColorantTag
        ICC Profile Tag Signature: 'rXYZ'.
        See Also:
        Constant Field Values
      • icSigRedMatrixColumnTag

        public static final int icSigRedMatrixColumnTag
        ICC Profile Tag Signature: 'rXYZ'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSigRedTRCTag

        public static final int icSigRedTRCTag
        ICC Profile Tag Signature: 'rTRC'.
        See Also:
        Constant Field Values
      • icSigScreeningDescTag

        public static final int icSigScreeningDescTag
        ICC Profile Tag Signature: 'scrd'.
        See Also:
        Constant Field Values
      • icSigScreeningTag

        public static final int icSigScreeningTag
        ICC Profile Tag Signature: 'scrn'.
        See Also:
        Constant Field Values
      • icSigTechnologyTag

        public static final int icSigTechnologyTag
        ICC Profile Tag Signature: 'tech'.
        See Also:
        Constant Field Values
      • icSigUcrBgTag

        public static final int icSigUcrBgTag
        ICC Profile Tag Signature: 'bfd '.
        See Also:
        Constant Field Values
      • icSigViewingCondDescTag

        public static final int icSigViewingCondDescTag
        ICC Profile Tag Signature: 'vued'.
        See Also:
        Constant Field Values
      • icSigViewingConditionsTag

        public static final int icSigViewingConditionsTag
        ICC Profile Tag Signature: 'view'.
        See Also:
        Constant Field Values
      • icSigChromaticityTag

        public static final int icSigChromaticityTag
        ICC Profile Tag Signature: 'chrm'.
        See Also:
        Constant Field Values
      • icSigChromaticAdaptationTag

        public static final int icSigChromaticAdaptationTag
        ICC Profile Tag Signature: 'chad'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSigColorantOrderTag

        public static final int icSigColorantOrderTag
        ICC Profile Tag Signature: 'clro'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icSigColorantTableTag

        public static final int icSigColorantTableTag
        ICC Profile Tag Signature: 'clrt'.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icHdrSize

        public static final int icHdrSize
        ICC Profile Header Location: profile size in bytes.
        See Also:
        Constant Field Values
      • icHdrCmmId

        public static final int icHdrCmmId
        ICC Profile Header Location: CMM for this profile.
        See Also:
        Constant Field Values
      • icHdrVersion

        public static final int icHdrVersion
        ICC Profile Header Location: format version number.
        See Also:
        Constant Field Values
      • icHdrDeviceClass

        public static final int icHdrDeviceClass
        ICC Profile Header Location: type of profile.
        See Also:
        Constant Field Values
      • icHdrColorSpace

        public static final int icHdrColorSpace
        ICC Profile Header Location: color space of data.
        See Also:
        Constant Field Values
      • icHdrPcs

        public static final int icHdrPcs
        ICC Profile Header Location: PCS - XYZ or Lab only.
        See Also:
        Constant Field Values
      • icHdrDate

        public static final int icHdrDate
        ICC Profile Header Location: date profile was created.
        See Also:
        Constant Field Values
      • icHdrMagic

        public static final int icHdrMagic
        ICC Profile Header Location: icMagicNumber.
        See Also:
        Constant Field Values
      • icHdrPlatform

        public static final int icHdrPlatform
        ICC Profile Header Location: primary platform.
        See Also:
        Constant Field Values
      • icHdrFlags

        public static final int icHdrFlags
        ICC Profile Header Location: various bit settings.
        See Also:
        Constant Field Values
      • icHdrManufacturer

        public static final int icHdrManufacturer
        ICC Profile Header Location: device manufacturer.
        See Also:
        Constant Field Values
      • icHdrModel

        public static final int icHdrModel
        ICC Profile Header Location: device model number.
        See Also:
        Constant Field Values
      • icHdrAttributes

        public static final int icHdrAttributes
        ICC Profile Header Location: device attributes.
        See Also:
        Constant Field Values
      • icHdrRenderingIntent

        public static final int icHdrRenderingIntent
        ICC Profile Header Location: rendering intent.
        See Also:
        Constant Field Values
      • icHdrIlluminant

        public static final int icHdrIlluminant
        ICC Profile Header Location: profile illuminant.
        See Also:
        Constant Field Values
      • icHdrCreator

        public static final int icHdrCreator
        ICC Profile Header Location: profile creator.
        See Also:
        Constant Field Values
      • icHdrProfileID

        public static final int icHdrProfileID
        ICC Profile Header Location: profile's ID.
        Since:
        1.5
        See Also:
        Constant Field Values
      • icTagType

        public static final int icTagType
        ICC Profile Constant: tag type signature.
        See Also:
        Constant Field Values
      • icTagReserved

        public static final int icTagReserved
        ICC Profile Constant: reserved.
        See Also:
        Constant Field Values
      • icCurveCount

        public static final int icCurveCount
        ICC Profile Constant: curveType count.
        See Also:
        Constant Field Values
      • icCurveData

        public static final int icCurveData
        ICC Profile Constant: curveType data.
        See Also:
        Constant Field Values
      • icXYZNumberX

        public static final int icXYZNumberX
        ICC Profile Constant: XYZNumber X.
        See Also:
        Constant Field Values
    • Method Detail

      • finalize

        @Deprecated(since="9")
        protected void finalize​()
        Deprecated. The finalize method has been deprecated. Subclasses that override finalize in order to perform cleanup should be modified to use alternative cleanup mechanisms and to remove the overriding finalize method. When overriding the finalize method, its implementation must explicitly ensure that super.finalize() is invoked as described in Object.finalize(). See the specification for Object.finalize() for further information about migration options.
        Frees the resources associated with an ICC_Profile object.
        Overrides:
        finalize in class Object
        See Also:
        WeakReference, PhantomReference
      • getInstance

        public static ICC_Profile getInstance​(byte[] data)
        Constructs an ICC_Profile object corresponding to the data in a byte array. Throws an IllegalArgumentException if the data does not correspond to a valid ICC Profile.
        Parameters:
        data - the specified ICC Profile data
        Returns:
        an ICC_Profile object corresponding to the data in the specified data array.
      • getInstance

        public 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). Throws an IllegalArgumentException if cspace is not one of the defined color spaces.
        Parameters:
        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.
        Returns:
        an ICC_Profile object corresponding to the specified ColorSpace type.
        Throws:
        IllegalArgumentException - If cspace is not one of the predefined color space types.
      • getInstance

        public static ICC_Profile getInstance​(String fileName)
                                       throws IOException
        Constructs an 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. This method throws an IOException if the specified file cannot be opened or if an I/O error occurs while reading the file. It throws an IllegalArgumentException if the file does not contain valid ICC Profile data.
        Parameters:
        fileName - The file that contains the data for the profile.
        Returns:
        an ICC_Profile object corresponding to the data in the specified file.
        Throws:
        IOException - If the specified file cannot be opened or an I/O error occurs while reading the file.
        IllegalArgumentException - If the file does not contain valid ICC Profile data.
        SecurityException - If a security manager is installed and it does not permit read access to the given file.
      • getInstance

        public static ICC_Profile getInstance​(InputStream s)
                                       throws IOException
        Constructs an ICC_Profile corresponding to the data in an InputStream. This method throws an IllegalArgumentException if the stream does not contain valid ICC Profile data. It throws an IOException if an I/O error occurs while reading the stream.
        Parameters:
        s - The input stream from which to read the profile data.
        Returns:
        an ICC_Profile object corresponding to the data in the specified InputStream.
        Throws:
        IOException - If an I/O error occurs while reading the stream.
        IllegalArgumentException - If the stream does not contain valid ICC Profile data.
      • getMajorVersion

        public int getMajorVersion​()
        Returns profile major version.
        Returns:
        The major version of the profile.
      • getMinorVersion

        public int getMinorVersion​()
        Returns profile minor version.
        Returns:
        The minor version of the profile.
      • getProfileClass

        public int getProfileClass​()
        Returns the profile class.
        Returns:
        One of the predefined profile class constants.
      • getColorSpaceType

        public int getColorSpaceType​()
        Returns the color space type. Returns one of the color space type constants defined by the 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.
        Returns:
        One of the color space type constants defined in the ColorSpace class.
      • getPCSType

        public int getPCSType​()
        Returns the color space type of the Profile Connection Space (PCS). Returns one of the color space type constants defined by the ColorSpace class. This is the "output" color space of the profile. For an input, display, or output profile useful for tagging colors or images, this will be either 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.
        Returns:
        One of the color space type constants defined in the ColorSpace class.
      • write

        public void write​(String fileName)
                   throws IOException
        Write this ICC_Profile to a file.
        Parameters:
        fileName - The file to write the profile data to.
        Throws:
        IOException - If the file cannot be opened for writing or an I/O error occurs while writing to the file.
      • write

        public void write​(OutputStream s)
                   throws IOException
        Write this ICC_Profile to an OutputStream.
        Parameters:
        s - The stream to write the profile data to.
        Throws:
        IOException - If an I/O error occurs while writing to the stream.
      • getData

        public byte[] getData​()
        Returns a byte array corresponding to the data of this ICC_Profile.
        Returns:
        A byte array that contains the profile data.
        See Also:
        setData(int, byte[])
      • getData

        public byte[] getData​(int tagSignature)
        Returns a particular tagged data element from the profile as a byte array. Elements are identified by signatures as defined in the ICC specification. The signature icSigHead can be used to get the header. This method is useful for advanced applets or applications which need to access profile data directly.
        Parameters:
        tagSignature - The ICC tag signature for the data element you want to get.
        Returns:
        A byte array that contains the tagged data element. Returns null if the specified tag doesn't exist.
        See Also:
        setData(int, byte[])
      • setData

        public void setData​(int tagSignature,
                            byte[] tagData)
        Sets a particular tagged data element in the profile from a byte array. The array should contain data in a format, corresponded to the tagSignature as defined in the ICC specification, section 10. This method is useful for advanced applets or applications which need to access profile data directly.
        Parameters:
        tagSignature - The ICC tag signature for the data element you want to set.
        tagData - the data to set for the specified tag signature
        Throws:
        IllegalArgumentException - 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.
        See Also:
        getData()
      • getNumComponents

        public int getNumComponents​()
        Returns the number of color components in the "input" color space of this profile. For example if the color space type of this profile is TYPE_RGB, then this method will return 3.
        Returns:
        The number of color components in the profile's input color space.
        Throws:
        ProfileDataException - if color space is in the profile is invalid
      • readResolve

        protected Object readResolve​()
                              throws ObjectStreamException
        Resolves instances being deserialized into instances registered with CMM.
        Returns:
        ICC_Profile object for profile registered with CMM.
        Throws:
        ObjectStreamException - never thrown, but mandated by the serialization spec.
        Since:
        1.3