|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
java.awt.color
类 ICC_ProfileRGB
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 分量通过一个由 RGB 颜料所构造的 3x3 矩阵转换为 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 _]可用以下方式执行逆向转换:通过上面 3x3 矩阵的逆矩阵可将 PCS XYZ 分量转换为线性 RGB 分量,然后通过逆 TRC 将线性 RGB 转换为设备 RGB。
- 另请参见:
- 序列化表格
字段摘要 | |
---|---|
static int |
BLUECOMPONENT 用于获得蓝色分量的 gamma 值或 TRC。 |
static int |
GREENCOMPONENT 用于获得绿色分量的 gamma 值或 TRC。 |
static int |
REDCOMPONENT 用于获得红色分量的 gamma 值或 TRC。 |
方法摘要 | |
---|---|
float |
getGamma(int component) 返回表示特定分量色调再现曲线 (TRC) 的 gamma 值。 |
float[][] |
getMatrix() 返回一个由配置文件的 redColorantTag 、greenColorantTag 和 blueColorantTag 的 X、Y 和 Z 分量构造的 3x3 float 矩阵。 |
float[] |
getMediaWhitePoint() 返回包含配置文件的 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 |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
REDCOMPONENT
public static final int REDCOMPONENT
-
用于获得红色分量的 gamma 值或 TRC。
- 另请参见:
- 常量字段值
GREENCOMPONENT
public static final int GREENCOMPONENT
-
用于获得绿色分量的 gamma 值或 TRC。
- 另请参见:
- 常量字段值
BLUECOMPONENT
public static final int BLUECOMPONENT
-
用于获得蓝色分量的 gamma 值或 TRC。
- 另请参见:
- 常量字段值
方法详细信息 |
---|
getMediaWhitePoint
public float[] getMediaWhitePoint()
-
返回包含配置文件的
mediaWhitePointTag
分量的数组。 -
-
- 返回:
-
一个 3 元素的
float
数组,它包含配置文件的mediaWhitePointTag
的 x、y 和 z 分量。
getMatrix
public float[][] getMatrix()
-
返回一个由配置文件的
redColorantTag
、greenColorantTag
和blueColorantTag
的 X、Y 和 Z 分量构造的 3x3float
矩阵。此矩阵可用于配置文件的正向颜色转换,即从配置文件颜色空间到 CIEXYZ PCS 的转变。
-
- 返回:
-
一个包含配置文件的
redColorantTag
、greenColorantTag
和blueColorantTag
的 X、Y 和 Z 分量的 3x3float
数组。
getGamma
public float getGamma(int component)
-
返回表示特定分量色调再现曲线 (TRC) 的 gamma 值。component 参数必须是 REDCOMPONENT、GREENCOMPONENT 或 BLUECOMPONENT 三者之一。
如果配置文件将相应分量的 TRC 表示为表,而不是单个 gamma 值,则抛出异常。在这种情况下,可通过
getTRC(int)
方法获得实际的表。使用 gamma 值时,按如下方式计算线性分量(R、G 或 B):gamma linearComponent = deviceComponent
-
-
- 参数:
-
component
-ICC_ProfileRGB
常量,表示要检索其 TRC 的分量 - 返回:
- float 类型的 gamma 值。
- 抛出:
-
ProfileDataException
- 如果配置文件没有将相应的 TRC 指定为单个 gamma 值。
getTRC
public short[] getTRC(int component)
-
以数组形式返回特定分量的 TRC。Component 必须是
REDCOMPONENT
、GREENCOMPONENT
或BLUECOMPONENT
三者之一。否则此处返回的数组表示一个查找表,其输入分量值范围是 [0.0, 1.0]。值 0.0 对应数组索引 0,值 1.0 则对应数组索引 length-1。对于数组中无确切对应某个索引的输入值,可以使用插值法为其生成输出值。输出值也与范围 [0.0, 1.0] 呈线性对应。数组值 0x0000 表示值 0.0,0xFFFF 则表示值 1.0。换句话说,尽管这些值是以short
数组的形式返回的,但它们实际上是无符号的short
值。 如果配置文件已经将相应的 TRC 指定为线性(gamma=1.0)或一个简单的 gamma 值,则此方法抛出异常。在这种情况下,应该使用getGamma(int)
方法获得 gamma 值。 -
-
- 参数:
-
component
-ICC_ProfileRGB
常量,表示要检索其 TRC 的分量:REDCOMPONENT
、GREENCOMPONENT
或BLUECOMPONENT
。 - 返回:
- 一个表示 TRC 的 short 数组。
- 抛出:
-
ProfileDataException
- 如果配置文件没有将相应的 TRC 指定为一个表。
所有类
|
|||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |