- java.lang.Object
-
- java.awt.color.ICC_Profile
-
- java.awt.color.ICC_ProfileRGB
-
- 实现的所有接口
-
Serializable
public class ICC_ProfileRGB extends ICC_Profile
ICC_ProfileRGB类是ICC_Profile类的子类,表示符合以下条件的概要文件:- 配置文件的颜色空间类型为RGB。
- 该配置文件包含
redColorantTag
,greenColorantTag
,blueColorantTag
,redTRCTag
,greenTRCTag
,blueTRCTag
和mediaWhitePointTag
标签。
ICC_Profile getInstance
方法将返回ICC_ProfileRGB
对象。 基于矩阵的三分量输入配置文件和RGB显示配置文件是此类配置文件的示例。此配置文件类提供了颜色转换矩阵和查找表,Java或本机方法可以在某些情况下直接使用它们来优化颜色转换。
为了从设备配置文件颜色空间转换到CIEXYZ配置文件连接空间,首先通过相应的色调再现曲线(TRC)查找来线性化每个设备颜色分量。 使用由RGB着色剂构造的3×3矩阵将得到的线性RGB分量转换为CIEXYZ PCS。
linearR = redTRC[deviceR] linearG = greenTRC[deviceG] linearB = blueTRC[deviceB] _ _ _ _ _ _ [ PCSX ] [ redColorantX greenColorantX blueColorantX ] [ linearR ] [ ] [ ] [ ] [ PCSY ] = [ redColorantY greenColorantY blueColorantY ] [ linearG ] [ ] [ ] [ ] [_ PCSZ _] [_ redColorantZ greenColorantZ blueColorantZ _] [_ linearB _]
通过上述3×3矩阵的逆转换将PCS XYZ分量转换为线性RGB分量,然后通过TRC的反转将线性RGB转换为设备RGB来执行逆变换。- 另请参见:
- Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 static int
BLUECOMPONENT
用于获取蓝色分量的伽玛值或TRC。static int
GREENCOMPONENT
用于获取绿色组件的gamma值或TRC。static int
REDCOMPONENT
用于获取红色组件的gamma值或TRC。-
声明的属性在类 java.awt.color.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
-
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 float
getGamma(int component)
返回表示特定组件的色调再现曲线(TRC)的伽玛值。float[][]
getMatrix()
返回一个3x3float
矩阵从X,Y构造和配置文件的Z分量redColorantTag
,greenColorantTag
和blueColorantTag
。float[]
getMediaWhitePoint()
返回包含配置文件的组件mediaWhitePointTag
的mediaWhitePointTag
。short[]
getTRC(int component)
将特定组件的TRC作为数组返回。-
声明方法的类 java.awt.color.ICC_Profile
finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write
-
-
-
-
方法详细信息
-
getMediaWhitePoint
public float[] getMediaWhitePoint()
返回包含配置文件的组件mediaWhitePointTag
的mediaWhitePointTag
。- 结果
-
一个3元素的
float
数组,包含配置文件mediaWhitePointTag
的x,y和z分量。
-
getMatrix
public float[][] getMatrix()
返回一个3x3float
矩阵从X,Y构造和配置文件的Z分量redColorantTag
,greenColorantTag
和blueColorantTag
。该矩阵可用于轮廓正向的颜色变换 - 从轮廓颜色空间到CIEXYZ PCS。
- 结果
-
的3×3
float
阵列包含x,y和配置文件的的z分量redColorantTag
,greenColorantTag
,和blueColorantTag
。
-
getGamma
public float getGamma(int component)
返回表示特定组件的色调再现曲线(TRC)的伽玛值。 组件参数必须是REDCOMPONENT,GREENCOMPONENT或BLUECOMPONENT之一。如果配置文件将相应组件的TRC表示为表而不是单个gamma值,则抛出异常。 在这种情况下,可以通过
getTRC(int)
方法获得实际表。 使用伽马值时,线性分量(R,G或B)计算如下:gamma linearComponent = deviceComponent
- 参数
-
component
-ICC_ProfileRGB
常量,表示要检索其TRC的组件 - 结果
- 伽玛值作为浮点数。
- 异常
-
ProfileDataException
- 如果配置文件未将相应的TRC指定为单个gamma值。
-
getTRC
public short[] getTRC(int component)
将特定组件的TRC作为数组返回。 组件必须是REDCOMPONENT
,GREENCOMPONENT
,或BLUECOMPONENT
。 否则返回的数组表示一个查找表,其中输入组件值在概念上在[0.0,1.0]范围内。 值0.0映射到数组索引0,值1.0映射到数组索引长度-1。 插值可用于生成输入值的输出值,这些输入值不会精确映射到数组中的索引。 输出值也线性映射到范围[0.0,1.0]。 值0.0由数组值0x0000表示,值1.0由0xFFFF表示。 换句话说,这些值实际上是无符号的short
值,即使它们是在short
数组中返回的。 如果配置文件已将相应的TRC指定为线性(gamma = 1.0)或指定为简单的gamma值,则此方法会引发异常。 在这种情况下,应使用getGamma(int)
方法获取gamma值。- 参数
-
component
-该ICC_ProfileRGB
常量,表示要检索其TRC的分量:REDCOMPONENT
,GREENCOMPONENT
,或BLUECOMPONENT
。 - 结果
- 代表TRC的短数组。
- 异常
-
ProfileDataException
- 如果配置文件未将相应的TRC指定为表。
-
-