- java.lang.Object
-
- java.awt.color.ICC_Profile
-
- java.awt.color.ICC_ProfileRGB
-
- All Implemented Interfaces:
-
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分量使用由RGB着色剂构成的3×3矩阵转换为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 _]
通过将PCS XYZ分量转换为上述3×3矩阵的逆的线性RGB分量,然后通过反向TRC将线性RGB转换为设备RGB来执行逆变换。- 另请参见:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
BLUECOMPONENT
用于获取蓝色分量的伽马值或TRC。static int
GREENCOMPONENT
用于获取绿色组件的伽马值或TRC。static int
REDCOMPONENT
用于获得红色分量的伽马值或TRC。-
Fields inherited from class 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
-
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 float
getGamma(int component)
返回表示特定组件的色调再现曲线(TRC)的伽马值。float[][]
getMatrix()
返回一个3x3float
矩阵从X,Y构造和配置文件的Z分量redColorantTag
,greenColorantTag
,并blueColorantTag
。float[]
getMediaWhitePoint()
返回一个包含配置文件mediaWhitePointTag
组件的mediaWhitePointTag
。short[]
getTRC(int component)
将特定组件的TRC作为数组返回。-
Methods inherited from class java.awt.color.ICC_Profile
finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write
-
-
-
-
字段详细信息
-
REDCOMPONENT
public static final int REDCOMPONENT
用于获得红色分量的伽马值或TRC。- 另请参见:
- Constant Field Values
-
GREENCOMPONENT
public static final int GREENCOMPONENT
用于获取绿色组件的伽马值或TRC。- 另请参见:
- Constant Field Values
-
BLUECOMPONENT
public static final int BLUECOMPONENT
用于获取蓝色分量的伽马值或TRC。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
getMediaWhitePoint
public float[] getMediaWhitePoint()
返回一个数组,其中包含配置文件的组件mediaWhitePointTag
。- 结果
-
一个包含配置文件
mediaWhitePointTag
的x,y和z组件的3元素float
数组。
-
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
- 表示要检索其TRC的组件的ICC_ProfileRGB
常量 - 结果
- 伽马值为浮点数。
- 异常
-
ProfileDataException
- 如果配置文件没有将相应的TRC指定为单个伽玛值。
-
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)或简单的伽玛值,则此方法会引发异常。 在这种情况下,应使用getGamma(int)
方法获取伽玛值。- 参数
-
component
-该ICC_ProfileRGB
常量,表示要检索其TRC的分量:REDCOMPONENT
,GREENCOMPONENT
,或BLUECOMPONENT
。 - 结果
- 代表TRC的短阵列。
- 异常
-
ProfileDataException
- 如果配置文件没有将相应的TRC指定为表。
-
-