public abstract class ColorSpace extends Object implements Serializable
对于这类的方法的目的,颜色为颜色分量表示为归一化的范围由各色彩空间定义浮标阵列。对于许多颜色(如sRGB),这个范围是0到1。然而,一些颜色有元件的值有不同的范围。提供方法来查询每个组件的最小和最大归一化值。
几个变量是指颜色空间类型的目的定义(例如type_rgb,type_xyz,等)和引用特定的色彩空间(如cs_srgb和cs_ciexyz)。sRGB是一种标准的RGB色彩空间。更多信息,见 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 。
该方法的目的变换到/从明确的CIEXYZ色彩空间支持任何两种颜色空间之间的转换,在一个相当高的准确度。预计子空间的特定的实现(例如icc_colorspace)将支持基于底层平台的色彩管理系统的高性能转换。
由tociexyz / fromciexyz方法可谓用cs_ciexyz空间如下:
CIEXYZ 查看照度:200力士 观看白点:CIE D50 媒体白一点:“一个完美的反射扩散器”——D50 媒体黑点:力士0或0的反射率 弹:百分之1 环绕:媒体的白点20% 媒体描述:反射平面(即专用,亨特观看媒体) 注:创建这种转换ICC配置文件的开发者 空间,以下是适用的。用一个简单的von Kries 白点适应折叠成3x3的矩阵参数 和褶皱的耀斑和环绕效果为三 一维查找表(假设一个使用最小显示器 模型)。
ICC_ColorSpace
,
Serialized Form
Modifier and Type | Field and Description |
---|---|
static int |
CS_CIEXYZ
CIEXYZ色彩空间转换上述定义。
|
static int |
CS_GRAY
内置的线性灰度颜色空间。
|
static int |
CS_LINEAR_RGB
内置的线性RGB颜色空间。
|
static int |
CS_PYCC
图YCC色彩空间转换。
|
static int |
CS_sRGB
sRGB色彩空间定义在
http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 。
|
static int |
TYPE_2CLR
通用2个分量颜色空间。
|
static int |
TYPE_3CLR
通用3个分量颜色空间。
|
static int |
TYPE_4CLR
通用4个分量颜色空间。
|
static int |
TYPE_5CLR
通用5个分量颜色空间。
|
static int |
TYPE_6CLR
通用6个分量颜色空间。
|
static int |
TYPE_7CLR
通用7个分量颜色空间。
|
static int |
TYPE_8CLR
通用8个分量颜色空间。
|
static int |
TYPE_9CLR
通用9个分量颜色空间。
|
static int |
TYPE_ACLR
通用10个分量颜色空间。
|
static int |
TYPE_BCLR
通用11个分量颜色空间。
|
static int |
TYPE_CCLR
通用12个分量颜色空间。
|
static int |
TYPE_CMY
任何对CMYK色彩空间的家庭。
|
static int |
TYPE_CMYK
任何CMYK色彩空间的家庭。
|
static int |
TYPE_DCLR
通用13个分量颜色空间。
|
static int |
TYPE_ECLR
通用14个分量颜色空间。
|
static int |
TYPE_FCLR
通用15个分量颜色空间。
|
static int |
TYPE_GRAY
灰色空间中的任何一类。
|
static int |
TYPE_HLS
任何HLS颜色空间的家庭。
|
static int |
TYPE_HSV
任何对HSV颜色空间的家庭。
|
static int |
TYPE_Lab
实验室颜色空间的任何一家。
|
static int |
TYPE_Luv
任何LUV颜色空间的家庭。
|
static int |
TYPE_RGB
任何的RGB颜色空间的家庭。
|
static int |
TYPE_XYZ
任何XYZ颜色空间的家庭。
|
static int |
TYPE_YCbCr
任何YCbCr色彩空间的家庭。
|
static int |
TYPE_Yxy
任何对YXY色彩空间的家庭。
|
Modifier | Constructor and Description |
---|---|
protected |
ColorSpace(int type, int numcomponents)
构建了颜色空间类型和组件的数量一个空间对象。
|
Modifier and Type | Method and Description |
---|---|
abstract float[] |
fromCIEXYZ(float[] colorvalue)
变换颜色值的假定是在cs_ciexyz色彩空间转换到这个空间。
|
abstract float[] |
fromRGB(float[] rgbvalue)
变换颜色值由默认的cs_srgb颜色空间到这个空间。
|
static ColorSpace |
getInstance(int colorspace)
返回一个颜色代表一个特定的预定义的颜色空间。
|
float |
getMaxValue(int component)
返回指定组件的最大归一化颜色分量值。
|
float |
getMinValue(int component)
返回指定组件的最小规格化颜色分量值。
|
String |
getName(int idx)
返回给定组件索引的组件的名称。
|
int |
getNumComponents()
返回该颜色空间的分量数。
|
int |
getType()
返回此ColorSpace颜色空间类型(例如type_rgb,type_xyz,…)。
|
boolean |
isCS_sRGB()
如果色彩是cs_srgb返回true。
|
abstract float[] |
toCIEXYZ(float[] colorvalue)
变换颜色值的假定是这色彩的cs_ciexyz色彩空间转换。
|
abstract float[] |
toRGB(float[] colorvalue)
变换颜色值的假定是这色彩为默认值cs_srgb颜色空间。
|
@Native public static final int TYPE_XYZ
@Native public static final int TYPE_Lab
@Native public static final int TYPE_Luv
@Native public static final int TYPE_YCbCr
@Native public static final int TYPE_Yxy
@Native public static final int TYPE_RGB
@Native public static final int TYPE_GRAY
@Native public static final int TYPE_HSV
@Native public static final int TYPE_HLS
@Native public static final int TYPE_CMYK
@Native public static final int TYPE_CMY
@Native public static final int TYPE_2CLR
@Native public static final int TYPE_3CLR
@Native public static final int TYPE_4CLR
@Native public static final int TYPE_5CLR
@Native public static final int TYPE_6CLR
@Native public static final int TYPE_7CLR
@Native public static final int TYPE_8CLR
@Native public static final int TYPE_9CLR
@Native public static final int TYPE_ACLR
@Native public static final int TYPE_BCLR
@Native public static final int TYPE_CCLR
@Native public static final int TYPE_DCLR
@Native public static final int TYPE_ECLR
@Native public static final int TYPE_FCLR
@Native public static final int CS_sRGB
@Native public static final int CS_LINEAR_RGB
@Native public static final int CS_CIEXYZ
@Native public static final int CS_PYCC
@Native public static final int CS_GRAY
protected ColorSpace(int type, int numcomponents)
type
之一--
ColorSpace
类型常数
numcomponents
在颜色空间的分量数
public static ColorSpace getInstance(int colorspace)
colorspace
-一个特定的色彩空间中通过一个预定义的类(例如cs_srgb常数确定,cs_linear_rgb,cs_ciexyz,cs_gray,或cs_pycc)
ColorSpace
对象
public boolean isCS_sRGB()
true
如果这是一个
CS_sRGB
颜色空间,
false
如果不是
public abstract float[] toRGB(float[] colorvalue)
此方法将颜色值,使用算法设计,以产生最佳的输入和输出之间的颜色匹配的颜色。为了做好颜色值比色转换,你需要使用这个色彩空间的toCIEXYZ
方法首先从输入的彩色空间转换到cs_ciexyz颜色空间,然后使用的cs_srgb颜色空间转换的cs_ciexyz fromCIEXYZ
方法的输出色彩空间。更多信息参阅toCIEXYZ
和fromCIEXYZ
。
colorvalue
-用最少的元件数量这色彩长度浮点数组
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少数组成这色彩
public abstract float[] fromRGB(float[] rgbvalue)
此方法将颜色值,使用算法设计,以产生最佳的输入和输出之间的颜色匹配的颜色。为了做好颜色值比色转换,你应该使用的cs_srgb颜色空间的toCIEXYZ
方法首先从输入的彩色空间转换到cs_ciexyz颜色空间,然后使用这个色彩空间的fromCIEXYZ
方法将从cs_ciexyz到输出色彩空间。更多信息参阅toCIEXYZ
和fromCIEXYZ
。
rgbvalue
-至少有3长浮点数组
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少3
public abstract float[] toCIEXYZ(float[] colorvalue)
这种方法转换颜色值,使用相对比色法,由国际颜色协会标准定义。这意味着,该方法返回的值表示相对于XYZ颜色空间的cs_ciexyz D50白点。这表示在两步颜色转换的过程中,色彩是从输入的彩色空间转换到cs_ciexyz然后输出颜色空间是有用的。这表示是不是XYZ值,将测量从给定的颜色值相同的色度计。进一步转变是需要计算的XYZ值,将测量用电流CIE推荐的做法。为进一步的信息ICC_ColorSpace
的toCIEXYZ
方法。
colorvalue
-用最少的元件数量这色彩长度浮点数组
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少数组成这色彩。
public abstract float[] fromCIEXYZ(float[] colorvalue)
这种方法转换颜色值,使用相对比色法,由国际颜色协会标准定义。这意味着,该方法由XYZ参数值表示相对的cs_ciexyz颜色空间的D50白点。这表示在两步颜色转换的过程中,色彩是从输入的彩色空间转换到cs_ciexyz然后输出颜色空间是有用的。此方法返回的颜色值并不是那些会产生XYZ值传递给方法的色度计测量时。如果你有相应的使用电流测量CIE推荐做法XYZ值,它们必须被转换为D50相对值之前被传递给该方法。为进一步的信息ICC_ColorSpace
的fromCIEXYZ
方法。
colorvalue
-至少有3长浮点数组
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少3
public int getType()
ColorSpace
型常数
public int getNumComponents()
ColorSpace
组件的数量。
public String getName(int idx)
idx
的成份指数
IllegalArgumentException
-如果
idx
小于0或大于1 numcomponents
public float getMinValue(int component)
component
的成份指数
IllegalArgumentException
如果分量小于0或大于1 numcomponents
public float getMaxValue(int component)
component
的成份指数
IllegalArgumentException
如果分量小于0或大于1 numcomponents
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.