模块  java.desktop
软件包  java.awt.color

Class ICC_ProfileRGB

  • 实现的所有接口
    Serializable

    public class ICC_ProfileRGB
    extends ICC_Profile
    ICC_ProfileRGB类是ICC_Profile类的子类,表示符合以下条件的概要文件:
    • 配置文件的颜色空间类型为RGB。
    • 该配置文件包含redColorantTaggreenColorantTagblueColorantTagredTRCTaggreenTRCTagblueTRCTagmediaWhitePointTag标签。
    当满足这些条件时, 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
    • 字段详细信息

      • REDCOMPONENT

        public static final int REDCOMPONENT
        用于获取红色组件的gamma值或TRC。
        另请参见:
        常数字段值
      • GREENCOMPONENT

        public static final int GREENCOMPONENT
        用于获取绿色组件的gamma值或TRC。
        另请参见:
        常数字段值
      • BLUECOMPONENT

        public static final int BLUECOMPONENT
        用于获取蓝色分量的伽玛值或TRC。
        另请参见:
        常数字段值
    • 方法详细信息

      • getMediaWhitePoint

        public float[] getMediaWhitePoint()
        返回包含配置文件的组件 mediaWhitePointTagmediaWhitePointTag
        结果
        一个3元素的 float数组,包含配置文件 mediaWhitePointTag的x,y和z分量。
      • getMatrix

        public float[][] getMatrix()
        返回一个3x3 float矩阵从X,Y构造和配置文件的Z分量redColorantTaggreenColorantTagblueColorantTag

        该矩阵可用于轮廓正向的颜色变换 - 从轮廓颜色空间到CIEXYZ PCS。

        结果
        的3×3 float阵列包含x,y和配置文件的的z分量 redColorantTaggreenColorantTag ,和 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作为数组返回。 组件必须是REDCOMPONENTGREENCOMPONENT ,或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的分量: REDCOMPONENTGREENCOMPONENT ,或 BLUECOMPONENT
        结果
        代表TRC的短数组。
        异常
        ProfileDataException - 如果配置文件未将相应的TRC指定为表。