- 所有已实现的接口:
Serializable
- 已知子类:
ICC_ColorSpace
Color
对象或通过 ColorModel
对象识别 Image
、BufferedImage
或 GraphicsDevice
的特定颜色空间。它包含将特定颜色空间中的颜色与 sRGB 和定义明确的 CIEXYZ 颜色空间相互转换的方法。
出于此类中方法的目的,颜色表示为颜色组件数组,表示为每个 ColorSpace
定义的标准化范围内的浮点数。对于许多 ColorSpaces
(例如 sRGB),此范围为 0.0 到 1.0。但是,某些 ColorSpaces
具有值具有不同范围的组件。提供了查询每个组件最小和最大归一化值的方法。
为了引用颜色空间类型(例如 TYPE_RGB
、 TYPE_XYZ
等)和引用特定颜色空间(例如 CS_sRGB
和 CS_CIEXYZ
),定义了几个变量。 sRGB 是提议的标准 RGB 色彩空间。有关详细信息,请参阅 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html。
向/从明确定义的 CIEXYZ 颜色空间转换的方法的目的是支持以相当高的精度在任何两个颜色空间之间进行转换。预计 ColorSpace
子类的特定实现(例如 ICC_ColorSpace
)将支持基于底层平台颜色管理系统的高性能转换。
toCIEXYZ/fromCIEXYZ
方法使用的CS_CIEXYZ
空间可以描述如下:
CIEXYZ viewing illuminance: 200 lux viewing white point: CIE D50 media white point: "that of a perfectly reflecting diffuser" -- D50 media black point: 0 lux or 0 Reflectance flare: 1 percent surround: 20percent of the media white point media description: reflection print (i.e., RLAB, Hunt viewing media) note: For developers creating an ICC profile for this conversion space, the following is applicable. Use a simple Von Kries white point adaptation folded into the 3X3 matrix parameters and fold the flare and surround effects into the three one-dimensional lookup tables (assuming one uses the minimal model for monitors).
- 参见:
-
字段摘要
字段修饰符和类型Field描述static final int
上面定义的内置 CIEXYZ 转换颜色空间。static final int
内置线性灰度色彩空间。static final int
内置线性RGB色彩空间。static final int
内置 Photo YCC 转换色彩空间。static final int
在 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 定义的内置 sRGB 色彩空间。static final int
通用 2 组件颜色空间。static final int
通用 3 组件颜色空间。static final int
通用 4 组件颜色空间。static final int
通用 5 组件颜色空间。static final int
通用 6 组件颜色空间。static final int
通用 7 组件颜色空间。static final int
通用 8 组件颜色空间。static final int
通用 9 组件颜色空间。static final int
通用 10 组件颜色空间。static final int
通用 11 组件颜色空间。static final int
通用 12 组件颜色空间。static final int
任何 CMY 色彩空间系列。static final int
任何 CMYK 色彩空间系列。static final int
通用 13 组件颜色空间。static final int
通用 14 组件颜色空间。static final int
通用 15 组件颜色空间。static final int
GRAY 颜色空间系列中的任何一种。static final int
任何 HLS 颜色空间系列。static final int
任何 HSV 颜色空间系列。static final int
任何 Lab 颜色空间系列。static final int
任何 Luv 颜色空间系列。static final int
任何 RGB 颜色空间系列。static final int
XYZ 颜色空间系列中的任何一种。static final int
YCbCr 颜色空间系列中的任何一种。static final int
Yxy 颜色空间系列中的任何一种。 -
构造方法总结
构造方法 -
方法总结
修饰符和类型方法描述abstract float[]
fromCIEXYZ
(float[] colorvalue) 将假设位于CS_CIEXYZ
转换颜色空间中的颜色值转换为此ColorSpace
。abstract float[]
fromRGB
(float[] rgbvalue) 将假设在默认CS_sRGB
颜色空间中的颜色值转换为此ColorSpace
。static ColorSpace
getInstance
(int cspace) 返回代表特定预定义颜色空间之一的ColorSpace
。float
getMaxValue
(int component) 返回指定组件的最大标准化颜色组件值。float
getMinValue
(int component) 返回指定组件的最小标准化颜色组件值。getName
(int component) 返回给定组件索引的组件名称。int
返回此 ColorSpace 的组件数。int
getType()
返回此ColorSpace
的颜色空间类型(例如TYPE_RGB
、TYPE_XYZ
、...)。boolean
如果ColorSpace
是CS_sRGB
则返回真。abstract float[]
toCIEXYZ
(float[] colorvalue) 将假定在此ColorSpace
中的颜色值转换为CS_CIEXYZ
转换颜色空间。abstract float[]
toRGB
(float[] colorvalue) 将假定在此ColorSpace
中的颜色值转换为默认CS_sRGB
颜色空间中的值。
-
字段详细信息
-
TYPE_XYZ
XYZ 颜色空间系列中的任何一种。- 参见:
-
TYPE_Lab
任何 Lab 颜色空间系列。- 参见:
-
TYPE_Luv
任何 Luv 颜色空间系列。- 参见:
-
TYPE_YCbCr
YCbCr 颜色空间系列中的任何一种。- 参见:
-
TYPE_Yxy
Yxy 颜色空间系列中的任何一种。- 参见:
-
TYPE_RGB
任何 RGB 颜色空间系列。- 参见:
-
TYPE_GRAY
GRAY 颜色空间系列中的任何一种。- 参见:
-
TYPE_HSV
任何 HSV 颜色空间系列。- 参见:
-
TYPE_HLS
任何 HLS 颜色空间系列。- 参见:
-
TYPE_CMYK
任何 CMYK 色彩空间系列。- 参见:
-
TYPE_CMY
任何 CMY 色彩空间系列。- 参见:
-
TYPE_2CLR
通用 2 组件颜色空间。- 参见:
-
TYPE_3CLR
通用 3 组件颜色空间。- 参见:
-
TYPE_4CLR
通用 4 组件颜色空间。- 参见:
-
TYPE_5CLR
通用 5 组件颜色空间。- 参见:
-
TYPE_6CLR
通用 6 组件颜色空间。- 参见:
-
TYPE_7CLR
通用 7 组件颜色空间。- 参见:
-
TYPE_8CLR
通用 8 组件颜色空间。- 参见:
-
TYPE_9CLR
通用 9 组件颜色空间。- 参见:
-
TYPE_ACLR
通用 10 组件颜色空间。- 参见:
-
TYPE_BCLR
通用 11 组件颜色空间。- 参见:
-
TYPE_CCLR
通用 12 组件颜色空间。- 参见:
-
TYPE_DCLR
通用 13 组件颜色空间。- 参见:
-
TYPE_ECLR
通用 14 组件颜色空间。- 参见:
-
TYPE_FCLR
通用 15 组件颜色空间。- 参见:
-
CS_sRGB
在 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 定义的内置 sRGB 色彩空间。- 参见:
-
CS_LINEAR_RGB
内置线性RGB色彩空间。此空间基于与CS_sRGB
相同的 RGB 原色,但具有线性色调再现曲线。- 参见:
-
CS_CIEXYZ
上面定义的内置 CIEXYZ 转换颜色空间。- 参见:
-
CS_PYCC
内置 Photo YCC 转换色彩空间。- 参见:
-
CS_GRAY
内置线性灰度色彩空间。- 参见:
-
-
构造方法详细信息
-
ColorSpace
protected ColorSpace(int type, int numComponents) 构造一个给定颜色空间类型和组件数的ColorSpace
对象。- 参数:
type
-ColorSpace
类型常量之一numComponents
- 颜色空间中的组件数
-
-
方法详情
-
getInstance
返回代表特定预定义颜色空间之一的ColorSpace
。- 参数:
cspace
- 由预定义类常量之一标识的特定颜色空间(例如CS_sRGB
、CS_LINEAR_RGB
、CS_CIEXYZ
、CS_GRAY
或CS_PYCC
)- 返回:
-
请求的
ColorSpace
对象
-
isCS_sRGB
public boolean isCS_sRGB()如果ColorSpace
是CS_sRGB
则返回真。- 返回:
true
如果这是CS_sRGB
颜色空间,false
如果不是
-
toRGB
public abstract float[] toRGB(float[] colorvalue) 将假定在此ColorSpace
中的颜色值转换为默认CS_sRGB
颜色空间中的值。此方法使用旨在在输入和输出颜色之间产生最佳感知匹配的算法来转换颜色值。为了对颜色值进行比色转换,应该先使用该颜色空间的
toCIEXYZ
方法从输入颜色空间转换到CS_CIEXYZ颜色空间,然后使用CS_sRGB
颜色空间的fromCIEXYZ
方法从CS_CIEXYZ
转换到输出色彩空间。有关详细信息,请参阅toCIEXYZ
和fromCIEXYZ
。- 参数:
colorvalue
- 一个浮点数组,其长度至少为该ColorSpace
中的组件数- 返回:
- 长度为 3 的浮点数组
- 抛出:
ArrayIndexOutOfBoundsException
- 如果数组长度不至少是这个ColorSpace
中的组件数
-
fromRGB
public abstract float[] fromRGB(float[] rgbvalue) 将假设在默认CS_sRGB
颜色空间中的颜色值转换为此ColorSpace
。此方法使用旨在在输入和输出颜色之间产生最佳感知匹配的算法来转换颜色值。为了对颜色值进行比色转换,应该使用
CS_sRGB
颜色空间的toCIEXYZ
方法先从输入颜色空间转换到CS_CIEXYZ
颜色空间,然后使用这个颜色空间的fromCIEXYZ
方法从CS_CIEXYZ
转换到输出色彩空间。有关详细信息,请参阅toCIEXYZ
和fromCIEXYZ
。- 参数:
rgbvalue
- 长度至少为 3 的浮点数组- 返回:
-
长度等于此
ColorSpace
中的组件数的浮点数组 - 抛出:
ArrayIndexOutOfBoundsException
- 如果数组长度不至少为 3
-
toCIEXYZ
public abstract float[] toCIEXYZ(float[] colorvalue) 将假定在此ColorSpace
中的颜色值转换为CS_CIEXYZ
转换颜色空间。此方法使用国际色彩联盟标准定义的相对比色法转换颜色值。这意味着此方法返回的 XYZ 值是相对于
CS_CIEXYZ
颜色空间的 D50 白点表示的。此表示在两步颜色转换过程中很有用,在该过程中,颜色从输入颜色空间转换为CS_CIEXYZ
,然后转换为输出颜色空间。此表示与色度计根据给定颜色值测量的 XYZ 值不同。需要进一步转换来计算将使用当前 CIE 推荐做法测量的 XYZ 值。有关详细信息,请参阅ICC_ColorSpace
的toCIEXYZ
方法。- 参数:
colorvalue
- 一个浮点数组,其长度至少为该ColorSpace
中的组件数- 返回:
- 长度为 3 的浮点数组
- 抛出:
ArrayIndexOutOfBoundsException
- 如果数组长度不至少是此ColorSpace
中的组件数。
-
fromCIEXYZ
public abstract float[] fromCIEXYZ(float[] colorvalue) 将假设位于CS_CIEXYZ
转换颜色空间中的颜色值转换为此ColorSpace
。此方法使用国际色彩联盟标准定义的相对比色法转换颜色值。这意味着此方法采用的 XYZ 参数值是相对于
CS_CIEXYZ
颜色空间的 D50 白点表示的。此表示在两步颜色转换过程中很有用,在该过程中,颜色从输入颜色空间转换为CS_CIEXYZ
,然后转换为输出颜色空间。此方法返回的颜色值不是那些在用色度计测量时会产生传递给该方法的 XYZ 值的颜色值。如果您的 XYZ 值对应于使用当前 CIE 推荐做法进行的测量,则必须将它们转换为 D50 相对值,然后再传递给此方法。有关详细信息,请参阅ICC_ColorSpace
的fromCIEXYZ
方法。- 参数:
colorvalue
- 长度至少为 3 的浮点数组- 返回:
-
长度等于此
ColorSpace
中的组件数的浮点数组 - 抛出:
ArrayIndexOutOfBoundsException
- 如果数组长度不至少为 3
-
getType
public int getType()返回此ColorSpace
的颜色空间类型(例如TYPE_RGB
、TYPE_XYZ
、...)。该类型定义了颜色空间的组件数量和解释,例如TYPE_RGB
标识了具有三个组件的颜色空间——红色、绿色和蓝色。它没有定义空间的特定颜色特征,例如原色的色度。- 返回:
-
表示此
ColorSpace
类型的类型常量
-
getNumComponents
public int getNumComponents()返回此 ColorSpace 的组件数。- 返回:
-
这个
ColorSpace
中的组件数量
-
getName
返回给定组件索引的组件名称。- 参数:
component
- 组件索引- 返回:
- 指定索引处的组件名称
- 抛出:
IllegalArgumentException
- 如果component
小于 0 或大于numComponents - 1
-
getMinValue
public float getMinValue(int component) 返回指定组件的最小标准化颜色组件值。此抽象类中的默认实现为所有组件返回 0.0。如有必要,子类应重写此方法。- 参数:
component
- 组件索引- 返回:
- 最小归一化组件值
- 抛出:
IllegalArgumentException
- 如果组件小于 0 或大于numComponents - 1
- 自从:
- 1.4
-
getMaxValue
public float getMaxValue(int component) 返回指定组件的最大标准化颜色组件值。此抽象类中的默认实现为所有组件返回 1.0。如有必要,子类应重写此方法。- 参数:
component
- 组件索引- 返回:
- 最大归一化组件值
- 抛出:
IllegalArgumentException
- 如果组件小于 0 或大于numComponents - 1
- 自从:
- 1.4
-