public class ICC_ProfileRGB extends ICC_Profile
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来执行逆变换。
Modifier and Type | Field and Description |
---|---|
static int |
BLUECOMPONENT
用于获取蓝色分量的伽马值或TRC。
|
static int |
GREENCOMPONENT
用于获取绿色组件的伽马值或TRC。
|
static int |
REDCOMPONENT
用于获得红色分量的伽马值或TRC。
|
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 | Method and Description |
---|---|
float |
getGamma(int component)
返回表示特定组件的色调再现曲线(TRC)的伽马值。
|
float[][] |
getMatrix()
返回一个3x3
float 矩阵从X,Y构造和配置文件的Z分量
redColorantTag ,
greenColorantTag 和
blueColorantTag 。
|
float[] |
getMediaWhitePoint()
返回一个数组,其中包含配置文件的
mediaWhitePointTag 。
|
short[] |
getTRC(int component)
将特定组件的TRC作为数组返回。
|
finalize, getColorSpaceType, getData, getData, getInstance, getInstance, getInstance, getInstance, getMajorVersion, getMinorVersion, getNumComponents, getPCSType, getProfileClass, readResolve, setData, write, write
public static final int REDCOMPONENT
public static final int GREENCOMPONENT
public static final int BLUECOMPONENT
public float[] getMediaWhitePoint()
mediaWhitePointTag
。
float
阵列包含在x,y和z中的配置文件的的部件
mediaWhitePointTag
。
public float[][] getMatrix()
float
矩阵从X,Y构造和配置文件的Z分量redColorantTag
, greenColorantTag
和blueColorantTag
。
该矩阵可用于轮廓的正向颜色变换 - 从轮廓颜色空间到CIEXYZ PCS。
float
数组,其中包含配置文件的
redColorantTag
的x,y和z组件
greenColorantTag
和
blueColorantTag
。
public float getGamma(int component)
如果配置文件表示相应组件的TRC作为表而不是单个gamma值,则会抛出异常。 在这种情况下,实际的表可以通过getTRC(int)
方法获得。 当使用伽马值时,线性分量(R,G或B)计算如下:
gamma
linearComponent = deviceComponent
component
- 表示要检索其TRC的组件的
ICC_ProfileRGB
常量
ProfileDataException
- 如果配置文件没有将相应的TRC指定为单个伽玛值。
public short[] getTRC(int component)
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
。
ProfileDataException
- 如果配置文件没有将相应的TRC指定为表。