Module java.desktop
Package java.awt.color

Class ICC_Profile

java.lang.Object
java.awt.color.ICC_Profile
所有已实现的接口:
Serializable
直接已知的子类:
ICC_ProfileGray, ICC_ProfileRGB

public sealed class ICC_Profile extends Object implements Serializable permits ICC_ProfileGray, ICC_ProfileRGB
基于国际色彩协会规范 ICC.1:2001-12,颜色配置文件的文件格式,表示设备无关和设备相关颜色空间的颜色配置文件数据的表示形式,参见 http://www.color.org

ICC_ColorSpace 对象可以从适当的 ICC_Profile 构造。通常,ICC_ColorSpace 会与一个 ICC 配置文件相关联,该配置文件是输入、显示或输出配置文件(请参阅 ICC 规范)。还有设备链接、抽象、颜色空间转换和命名颜色配置文件。这些对于标记颜色或图像来说不太有用,但对于其他目的很有用(特别是设备链接配置文件可以提供从一个设备的颜色空间转换到另一个设备的颜色空间的性能改进)。

ICC 配置文件表示从配置文件的颜色空间(例如显示器)到配置文件连接空间(PCS)的转换。对于标记图像或颜色感兴趣的配置文件具有一个 PCS,该 PCS 是 ICC 配置文件格式规范中定义的两个特定的设备无关空间之一(一个 CIEXYZ 空间和一个 CIELab 空间)。大多数感兴趣的配置文件要么具有可逆转换,要么明确指定双向转换。

参见:
  • Field Details

    • CLASS_INPUT

      public static final int CLASS_INPUT
      输入配置文件类。
      参见:
    • CLASS_DISPLAY

      public static final int CLASS_DISPLAY
      显示配置文件类。
      参见:
    • CLASS_OUTPUT

      public static final int CLASS_OUTPUT
      输出配置文件类。
      参见:
    • CLASS_COLORSPACECONVERSION

      public static final int CLASS_COLORSPACECONVERSION
      颜色空间转换配置文件类。
      参见:
    • CLASS_ABSTRACT

      public static final int CLASS_ABSTRACT
      抽象配置文件类。
      参见:
    • CLASS_NAMEDCOLOR

      public static final int CLASS_NAMEDCOLOR
      命名颜色配置文件类。
      参见:
    • icSigXYZData

      public static final int icSigXYZData
      ICC配置文件颜色空间类型签名:'XYZ '。
      参见:
    • icSigLabData

      public static final int icSigLabData
      ICC配置文件颜色空间类型签名:'Lab '。
      参见:
    • icSigLuvData

      public static final int icSigLuvData
      ICC配置文件颜色空间类型签名:'Luv '。
      参见:
    • icSigYCbCrData

      public static final int icSigYCbCrData
      ICC配置文件颜色空间类型签名:'YCbr'。
      参见:
    • icSigYxyData

      public static final int icSigYxyData
      ICC配置文件颜色空间类型签名:'Yxy '。
      参见:
    • icSigRgbData

      public static final int icSigRgbData
      ICC配置文件颜色空间类型签名:'RGB '。
      参见:
    • icSigGrayData

      public static final int icSigGrayData
      ICC配置文件颜色空间类型签名:'GRAY'。
      参见:
    • icSigHsvData

      public static final int icSigHsvData
      ICC配置文件颜色空间类型签名:'HSV'。
      参见:
    • icSigHlsData

      public static final int icSigHlsData
      ICC配置文件颜色空间类型签名:'HLS'。
      参见:
    • icSigCmykData

      public static final int icSigCmykData
      ICC配置文件颜色空间类型签名:'CMYK'。
      参见:
    • icSigCmyData

      public static final int icSigCmyData
      ICC配置文件颜色空间类型签名:'CMY '。
      参见:
    • icSigSpace2CLR

      public static final int icSigSpace2CLR
      ICC配置文件颜色空间类型签名:'2CLR'。
      参见:
    • icSigSpace3CLR

      public static final int icSigSpace3CLR
      ICC配置文件颜色空间类型签名:'3CLR'。
      参见:
    • icSigSpace4CLR

      public static final int icSigSpace4CLR
      ICC配置文件颜色空间类型签名:'4CLR'。
      参见:
    • icSigSpace5CLR

      public static final int icSigSpace5CLR
      ICC配置文件颜色空间类型签名:'5CLR'。
      参见:
    • icSigSpace6CLR

      public static final int icSigSpace6CLR
      ICC配置文件颜色空间类型签名:'6CLR'。
      参见:
    • icSigSpace7CLR

      public static final int icSigSpace7CLR
      ICC配置文件颜色空间类型签名:'7CLR'。
      参见:
    • icSigSpace8CLR

      public static final int icSigSpace8CLR
      ICC配置文件颜色空间类型签名:'8CLR'。
      参见:
    • icSigSpace9CLR

      public static final int icSigSpace9CLR
      ICC配置文件颜色空间类型签名:'9CLR'。
      参见:
    • icSigSpaceACLR

      public static final int icSigSpaceACLR
      ICC配置文件颜色空间类型签名:'ACLR'。
      参见:
    • icSigSpaceBCLR

      public static final int icSigSpaceBCLR
      ICC配置文件颜色空间类型签名:'BCLR'。
      参见:
    • icSigSpaceCCLR

      public static final int icSigSpaceCCLR
      ICC配置文件颜色空间类型签名:'CCLR'。
      参见:
    • icSigSpaceDCLR

      public static final int icSigSpaceDCLR
      ICC配置文件颜色空间类型签名:'DCLR'。
      参见:
    • icSigSpaceECLR

      public static final int icSigSpaceECLR
      ICC配置文件颜色空间类型签名:'ECLR'。
      参见:
    • icSigSpaceFCLR

      public static final int icSigSpaceFCLR
      ICC配置文件颜色空间类型签名:'FCLR'。
      参见:
    • icSigInputClass

      public static final int icSigInputClass
      ICC配置文件类签名:'scnr'。
      参见:
    • icSigDisplayClass

      public static final int icSigDisplayClass
      ICC配置文件类签名:'mntr'。
      参见:
    • icSigOutputClass

      public static final int icSigOutputClass
      ICC配置文件类签名:'prtr'。
      参见:
    • icSigLinkClass

      public static final int icSigLinkClass
      ICC配置文件类签名:'link'。
      参见:
    • icSigAbstractClass

      public static final int icSigAbstractClass
      ICC配置文件类签名:'abst'。
      参见:
    • icSigColorSpaceClass

      public static final int icSigColorSpaceClass
      ICC配置文件类签名:'spac'。
      参见:
    • icSigNamedColorClass

      public static final int icSigNamedColorClass
      ICC配置文件类签名:'nmcl'。
      参见:
    • icPerceptual

      public static final int icPerceptual
      ICC配置文件渲染意图:感知。
      参见:
    • icRelativeColorimetric

      public static final int icRelativeColorimetric
      ICC配置文件渲染意图:相对色度。
      参见:
    • icMediaRelativeColorimetric

      public static final int icMediaRelativeColorimetric
      ICC配置文件渲染意图:媒体-相对色度。
      自JDK版本:
      1.5
      参见:
    • icSaturation

      public static final int icSaturation
      ICC配置文件渲染意图:饱和度。
      参见:
    • icAbsoluteColorimetric

      public static final int icAbsoluteColorimetric
      ICC配置文件渲染意图:绝对色度。
      参见:
    • icICCAbsoluteColorimetric

      public static final int icICCAbsoluteColorimetric
      ICC配置文件渲染意图:ICC-绝对色度。
      自JDK版本:
      1.5
      参见:
    • icSigHead

      public static final int icSigHead
      ICC配置文件标签签名:'head' - 特殊。
      参见:
    • icSigAToB0Tag

      public static final int icSigAToB0Tag
      ICC配置文件标签签名:'A2B0'。
      参见:
    • icSigAToB1Tag

      public static final int icSigAToB1Tag
      ICC配置文件标签签名:'A2B1'。
      参见:
    • icSigAToB2Tag

      public static final int icSigAToB2Tag
      ICC配置文件标签签名:'A2B2'。
      参见:
    • icSigBlueColorantTag

      public static final int icSigBlueColorantTag
      ICC配置文件标签签名:'bXYZ'。
      参见:
    • icSigBlueMatrixColumnTag

      public static final int icSigBlueMatrixColumnTag
      ICC配置文件标签签名:'bXYZ'。
      自JDK版本:
      1.5
      参见:
    • icSigBlueTRCTag

      public static final int icSigBlueTRCTag
      ICC配置文件标签签名:'bTRC'。
      参见:
    • icSigBToA0Tag

      public static final int icSigBToA0Tag
      ICC配置文件标签签名:'B2A0'。
      参见:
    • icSigBToA1Tag

      public static final int icSigBToA1Tag
      ICC配置文件标签签名:'B2A1'。
      参见:
    • icSigBToA2Tag

      public static final int icSigBToA2Tag
      ICC配置文件标签签名:'B2A2'。
      参见:
    • icSigCalibrationDateTimeTag

      public static final int icSigCalibrationDateTimeTag
      ICC配置文件标签签名:'calt'。
      参见:
    • icSigCharTargetTag

      public static final int icSigCharTargetTag
      ICC配置文件标签签名:'targ'。
      参见:
    • icSigCopyrightTag

      public static final int icSigCopyrightTag
      ICC配置文件标签签名:'cprt'。
      参见:
    • icSigCrdInfoTag

      public static final int icSigCrdInfoTag
      ICC配置文件标签签名:'crdi'。
      参见:
    • icSigDeviceMfgDescTag

      public static final int icSigDeviceMfgDescTag
      ICC配置文件标签签名:'dmnd'。
      参见:
    • icSigDeviceModelDescTag

      public static final int icSigDeviceModelDescTag
      ICC配置文件标签签名:'dmdd'。
      参见:
    • icSigDeviceSettingsTag

      public static final int icSigDeviceSettingsTag
      ICC配置文件标签签名:'devs'。
      参见:
    • icSigGamutTag

      public static final int icSigGamutTag
      ICC配置文件标签签名:'gamt'。
      参见:
    • icSigGrayTRCTag

      public static final int icSigGrayTRCTag
      ICC配置文件标签签名:'kTRC'。
      参见:
    • icSigGreenColorantTag

      public static final int icSigGreenColorantTag
      ICC配置文件标签签名:'gXYZ'。
      参见:
    • icSigGreenMatrixColumnTag

      public static final int icSigGreenMatrixColumnTag
      ICC配置文件标签签名:'gXYZ'。
      自JDK版本:
      1.5
      参见:
    • icSigGreenTRCTag

      public static final int icSigGreenTRCTag
      ICC配置文件标签签名:'gTRC'。
      参见:
    • icSigLuminanceTag

      public static final int icSigLuminanceTag
      ICC配置文件标签签名:'lumi'。
      参见:
    • icSigMeasurementTag

      public static final int icSigMeasurementTag
      ICC配置文件标签签名:'meas'。
      参见:
    • icSigMediaBlackPointTag

      public static final int icSigMediaBlackPointTag
      ICC配置文件标签签名:'bkpt'。
      参见:
    • icSigMediaWhitePointTag

      public static final int icSigMediaWhitePointTag
      ICC配置文件标签签名:'wtpt'。
      参见:
    • icSigNamedColor2Tag

      public static final int icSigNamedColor2Tag
      ICC配置文件标签签名:'ncl2'。
      参见:
    • icSigOutputResponseTag

      public static final int icSigOutputResponseTag
      ICC配置文件标签签名:'resp'。
      参见:
    • icSigPreview0Tag

      public static final int icSigPreview0Tag
      ICC配置文件标签签名:'pre0'。
      参见:
    • icSigPreview1Tag

      public static final int icSigPreview1Tag
      ICC配置文件标签签名:'pre1'。
      参见:
    • icSigPreview2Tag

      public static final int icSigPreview2Tag
      ICC配置文件标签签名:'pre2'。
      参见:
    • icSigProfileDescriptionTag

      public static final int icSigProfileDescriptionTag
      ICC配置文件标签签名:'desc'。
      参见:
    • icSigProfileSequenceDescTag

      public static final int icSigProfileSequenceDescTag
      ICC配置文件标签签名:'pseq'。
      参见:
    • icSigPs2CRD0Tag

      public static final int icSigPs2CRD0Tag
      ICC配置文件标签签名:'psd0'。
      See Also:
    • icSigPs2CRD1Tag

      public static final int icSigPs2CRD1Tag
      ICC Profile Tag Signature: 'psd1'.
      参见:
    • icSigPs2CRD2Tag

      public static final int icSigPs2CRD2Tag
      ICC配置文件标签签名:'psd2'。
      参见:
    • icSigPs2CRD3Tag

      public static final int icSigPs2CRD3Tag
      ICC配置文件标签签名:'psd3'。
      参见:
    • icSigPs2CSATag

      public static final int icSigPs2CSATag
      ICC配置文件标签签名:'ps2s'。
      参见:
    • icSigPs2RenderingIntentTag

      public static final int icSigPs2RenderingIntentTag
      ICC配置文件标签签名:'ps2i'。
      参见:
    • icSigRedColorantTag

      public static final int icSigRedColorantTag
      ICC配置文件标签签名:'rXYZ'。
      参见:
    • icSigRedMatrixColumnTag

      public static final int icSigRedMatrixColumnTag
      ICC配置文件标签签名:'rXYZ'。
      自Java版本:
      1.5
      参见:
    • icSigRedTRCTag

      public static final int icSigRedTRCTag
      ICC配置文件标签签名:'rTRC'。
      参见:
    • icSigScreeningDescTag

      public static final int icSigScreeningDescTag
      ICC配置文件标签签名:'scrd'。
      参见:
    • icSigScreeningTag

      public static final int icSigScreeningTag
      ICC配置文件标签签名:'scrn'。
      参见:
    • icSigTechnologyTag

      public static final int icSigTechnologyTag
      ICC配置文件标签签名:'tech'。
      参见:
    • icSigUcrBgTag

      public static final int icSigUcrBgTag
      ICC配置文件标签签名:'bfd '。
      参见:
    • icSigViewingCondDescTag

      public static final int icSigViewingCondDescTag
      ICC配置文件标签签名:'vued'。
      参见:
    • icSigViewingConditionsTag

      public static final int icSigViewingConditionsTag
      ICC配置文件标签签名:'view'。
      参见:
    • icSigChromaticityTag

      public static final int icSigChromaticityTag
      ICC配置文件标签签名:'chrm'。
      参见:
    • icSigChromaticAdaptationTag

      public static final int icSigChromaticAdaptationTag
      ICC配置文件标签签名:'chad'。
      自Java版本:
      1.5
      参见:
    • icSigColorantOrderTag

      public static final int icSigColorantOrderTag
      ICC配置文件标签签名:'clro'。
      自Java版本:
      1.5
      参见:
    • icSigColorantTableTag

      public static final int icSigColorantTableTag
      ICC配置文件标签签名:'clrt'。
      自Java版本:
      1.5
      参见:
    • icHdrSize

      public static final int icHdrSize
      ICC配置文件头部位置:配置文件大小(字节)。
      参见:
    • icHdrCmmId

      public static final int icHdrCmmId
      ICC配置文件头部位置:此配置文件的CMM。
      参见:
    • icHdrVersion

      public static final int icHdrVersion
      ICC配置文件头部位置:格式版本号。
      参见:
    • icHdrDeviceClass

      public static final int icHdrDeviceClass
      ICC配置文件头部位置:配置文件类型。
      参见:
    • icHdrColorSpace

      public static final int icHdrColorSpace
      ICC配置文件头部位置:数据的颜色空间。
      参见:
    • icHdrPcs

      public static final int icHdrPcs
      ICC配置文件头部位置:PCS - 仅限XYZ或Lab。
      参见:
    • icHdrDate

      public static final int icHdrDate
      ICC配置文件头部位置:配置文件创建日期。
      参见:
    • icHdrMagic

      public static final int icHdrMagic
      ICC配置文件头部位置:icMagicNumber。
      参见:
    • icHdrPlatform

      public static final int icHdrPlatform
      ICC配置文件头部位置:主要平台。
      参见:
    • icHdrFlags

      public static final int icHdrFlags
      ICC配置文件头部位置:各种位设置。
      参见:
    • icHdrManufacturer

      public static final int icHdrManufacturer
      ICC配置文件头部位置:设备制造商。
      参见:
    • icHdrModel

      public static final int icHdrModel
      ICC配置文件头部位置:设备型号号码。
      参见:
    • icHdrAttributes

      public static final int icHdrAttributes
      ICC配置文件头部位置:设备属性。
      参见:
    • icHdrRenderingIntent

      public static final int icHdrRenderingIntent
      ICC配置文件头部位置:渲染意图。
      参见:
    • icHdrIlluminant

      public static final int icHdrIlluminant
      ICC配置文件头部位置:配置文件照明。
      参见:
    • icHdrCreator

      public static final int icHdrCreator
      ICC配置文件头部位置:配置文件创建者。
      参见:
    • icHdrProfileID

      public static final int icHdrProfileID
      ICC配置文件头部位置:配置文件的ID。
      自Java版本:
      1.5
      参见:
    • icTagType

      public static final int icTagType
      ICC配置文件常量:标签类型签名。
      参见:
    • icTagReserved

      public static final int icTagReserved
      ICC配置文件常量:保留。
      参见:
    • icCurveCount

      public static final int icCurveCount
      ICC配置文件常量:曲线类型计数。
      参见:
    • icCurveData

      public static final int icCurveData
      ICC配置文件常量:曲线类型数据。
      参见:
    • icXYZNumberX

      public static final int icXYZNumberX
      ICC配置文件常量:XYZNumber X。
      参见:
  • Method Details

    • getInstance

      public static ICC_Profile getInstance(byte[] data)
      构造一个与字节数组中的数据对应的ICC_Profile对象。
      参数:
      data - 指定的ICC配置文件数据
      返回:
      一个与指定data数组中的数据对应的ICC_Profile对象
      抛出:
      IllegalArgumentException - 如果字节数组不包含有效的ICC配置文件数据
    • getInstance

      public static ICC_Profile getInstance(int cspace)
      构造一个与ColorSpace类定义的特定颜色空间之一(例如CS_sRGB)对应的ICC_Profile。如果cspace不是已定义的颜色空间之一,则抛出IllegalArgumentException
      参数:
      cspace - 要为其创建配置文件的颜色空间类型。指定的类型是ColorSpace类中定义的颜色空间常量之一。
      返回:
      一个与指定ColorSpace类型对应的ICC_Profile对象
      抛出:
      IllegalArgumentException - 如果cspace不是预定义的颜色空间类型之一
    • getInstance

      public static ICC_Profile getInstance(String fileName) throws IOException
      构造一个与文件中的数据对应的ICC_ProfilefileName可以是绝对文件规范,也可以是相对文件规范。相对文件名将在几个位置查找:首先,相对于java.iccprofile.path属性指定的任何目录;其次,相对于java.class.path属性指定的任何目录;最后,在用于存储始终可用的配置文件的目录中,例如sRGB的配置文件。内置配置文件使用.pf作为配置文件的文件扩展名,例如sRGB.pf
      参数:
      fileName - 包含配置文件数据的文件
      返回:
      一个与指定文件中的数据对应的ICC_Profile对象
      抛出:
      IOException - 如果无法打开指定文件或在读取文件时发生I/O错误
      IllegalArgumentException - 如果文件不包含有效的ICC配置文件数据
      SecurityException - 如果安装了安全管理器并且不允许读取给定文件
      NullPointerException - 如果fileNamenull
    • getInstance

      public static ICC_Profile getInstance(InputStream s) throws IOException
      构造一个与InputStream中的数据对应的ICC_Profile
      参数:
      s - 用于读取配置文件数据的输入流
      返回:
      一个与指定InputStream中的数据对应的ICC_Profile对象
      抛出:
      IOException - 如果在读取流时发生I/O错误
      IllegalArgumentException - 如果流不包含有效的ICC配置文件数据
      NullPointerException - 如果snull
    • getMajorVersion

      public int getMajorVersion()
      返回配置文件的主要版本。
      返回:
      配置文件的主要版本
    • getMinorVersion

      public int getMinorVersion()
      返回配置文件的次要版本。
      返回:
      配置文件的次要版本
    • getProfileClass

      public int getProfileClass()
      返回配置文件类。
      返回:
      预定义的配置文件类常量之一
    • getColorSpaceType

      public int getColorSpaceType()
      返回颜色空间类型。返回ColorSpace类定义的颜色空间类型常量之一。这是配置文件的“输入”颜色空间。该类型定义了颜色空间的分量数量和解释,例如TYPE_RGB标识具有三个分量(红色、绿色和蓝色)的颜色空间。它不定义空间的特定颜色特性,例如主色的色度。
      返回:
      ColorSpace类中定义的颜色空间类型常量之一
    • getPCSType

      public int getPCSType()
      返回配置文件连接空间(PCS)的颜色空间类型。返回ColorSpace类定义的颜色空间类型常量之一。这是配置文件的“输出”颜色空间。对于用于标记颜色或图像的输入、显示或输出配置文件,这将是TYPE_XYZTYPE_Lab之一,并应被解释为ICC规范中定义的相应特定颜色空间。对于设备链接配置文件,这可以是任何颜色空间类型常量之一。
      返回:
      ColorSpace类中定义的颜色空间类型常量之一
    • write

      public void write(String fileName) throws IOException
      将此ICC_Profile写入文件。
      参数:
      fileName - 要将配置文件数据写入的文件
      抛出:
      IOException - 如果无法打开文件进行写入或在写入文件时发生I/O错误
      NullPointerException - 如果fileNamenull
    • write

      public void write(OutputStream s) throws IOException
      将此ICC_Profile写入OutputStream
      参数:
      s - 要将配置文件数据写入的流
      抛出:
      IOException - 如果在写入流时发生I/O错误
      NullPointerException - 如果snull
    • getData

      public byte[] getData()
      返回与此ICC_Profile的数据对应的字节数组。
      返回:
      包含配置文件数据的字节数组
      参见:
    • getData

      public byte[] getData(int tagSignature)
      返回配置文件中特定标记数据元素作为字节数组。元素由ICC规范中定义的签名标识。签名icSigHead可用于获取标头。此方法适用于需要直接访问配置文件数据的高级应用程序。
      参数:
      tagSignature - 要获取的数据元素的ICC标记签名
      返回:
      包含标记数据元素的字节数组。如果指定的标记不存在,则返回null
      参见:
    • setData

      public void setData(int tagSignature, byte[] tagData)
      从字节数组中设置配置文件中的特定标记数据元素。数组应包含与ICC规范第10节中定义的tagSignature相对应的数据格式。此方法适用于需要直接访问配置文件数据的高级应用程序。
      参数:
      tagSignature - 要设置的数据元素的ICC标记签名
      tagData - 要为指定标记签名设置的数据
      抛出:
      IllegalArgumentException - 如果tagSignature不是ICC规范中定义的签名
      IllegalArgumentException - 如果tagData数组的内容无法解释为与tagSignature相对应的有效标记数据
      参见:
    • getNumComponents

      public int getNumComponents()
      返回此配置文件的“输入”颜色空间中的颜色分量数。例如,如果此配置文件的颜色空间类型为TYPE_RGB,则此方法将返回3。
      返回:
      配置文件的输入颜色空间中的颜色分量数
      抛出:
      ProfileDataException - 如果配置文件中的颜色空间无效
    • readResolve

      protected Object readResolve() throws ObjectStreamException
      将被反序列化为与CMM注册的实例解析为实例。
      返回:
      与CMM注册的配置文件的ICC_Profile对象
      抛出:
      ObjectStreamException - 从未抛出,但是由序列化规范强制执行
      自:
      1.3