public class ICC_ColorSpace extends ColorSpace
通常,一个颜色或颜色模型,将与ICC配置文件是一个输入,显示,或输出剖面(见ICC规范)。还有其他类型的ICC配置文件,如摘要简介,链接配置文件,并命名的颜色配置文件,不包含用于表示一种颜色,图像的颜色空间的适当的信息,或装置(见icc_profile)。试图创建从一个不合适的ICC Profile的icc_colorspace对象是错误的。
国际刑事法院的配置文件表示的配置文件(如显示器)的配置文件连接空间(PC)的颜色空间的转换。标签图像或颜色感兴趣的公司有一个电脑,这是一个独立的空间的装置(1 CIEXYZ空间和两个CIELAB空间)的ICC文件格式规范定义。最感兴趣的资料有可逆变换或明确指定要双向转换。如果icc_colorspace对象使用的方式需要从电脑转换到配置文件的本地空间,有足够的数据来正确地完成转换,这icc_colorspace对象将产生在指定类型的色彩空间的输出(例如type_rgb,type_cmyk,等),但输出数据的特定的颜色值将未定义。
这类细节不重要的简单的小程序,绘制在默认的色彩空间、操作和显示与已知的颜色空间导入图片。至多,这样的程序会需要一个默认的色彩空间getinstance()通过颜色空间。
ColorSpace
,
ICC_Profile
,
Serialized Form
CS_CIEXYZ, CS_GRAY, CS_LINEAR_RGB, CS_PYCC, CS_sRGB, TYPE_2CLR, TYPE_3CLR, TYPE_4CLR, TYPE_5CLR, TYPE_6CLR, TYPE_7CLR, TYPE_8CLR, TYPE_9CLR, TYPE_ACLR, TYPE_BCLR, TYPE_CCLR, TYPE_CMY, TYPE_CMYK, TYPE_DCLR, TYPE_ECLR, TYPE_FCLR, TYPE_GRAY, TYPE_HLS, TYPE_HSV, TYPE_Lab, TYPE_Luv, TYPE_RGB, TYPE_XYZ, TYPE_YCbCr, TYPE_Yxy
Constructor and Description |
---|
ICC_ColorSpace(ICC_Profile profile)
从icc_profile对象构造一个新的icc_colorspace。
|
Modifier and Type | Method and Description |
---|---|
float[] |
fromCIEXYZ(float[] colorvalue)
变换颜色值的假定是在cs_ciexyz色彩空间转换到这个空间。
|
float[] |
fromRGB(float[] rgbvalue)
变换颜色值由默认的cs_srgb颜色空间到这个空间。
|
float |
getMaxValue(int component)
返回指定组件的最大归一化颜色分量值。
|
float |
getMinValue(int component)
返回指定组件的最小规格化颜色分量值。
|
ICC_Profile |
getProfile()
返回此icc_colorspace的icc_profile。
|
float[] |
toCIEXYZ(float[] colorvalue)
变换颜色值的假定是这色彩的cs_ciexyz色彩空间转换。
|
float[] |
toRGB(float[] colorvalue)
变换颜色值的假定是这色彩为默认值cs_srgb颜色空间。
|
getInstance, getName, getNumComponents, getType, isCS_sRGB
public ICC_ColorSpace(ICC_Profile profile)
profile
-指定icc_profile对象
IllegalArgumentException
如果剖面为代表的色彩不合适。
public ICC_Profile getProfile()
public float[] toRGB(float[] colorvalue)
此方法将颜色值,使用算法设计,以产生最佳的输入和输出之间的颜色匹配的颜色。为了做好颜色值比色转换,你需要使用这个色彩空间的toCIEXYZ
方法首先从输入的彩色空间转换到cs_ciexyz颜色空间,然后使用的cs_srgb颜色空间转换的cs_ciexyz fromCIEXYZ
方法的输出色彩空间。更多信息参阅toCIEXYZ
和fromCIEXYZ
。
toRGB
方法重写,继承类
ColorSpace
colorvalue
-用最少的元件数量这色彩长度浮点数组。
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少数组成这色彩。
public float[] fromRGB(float[] rgbvalue)
此方法将颜色值,使用算法设计,以产生最佳的输入和输出之间的颜色匹配的颜色。为了做好颜色值比色转换,你应该使用的cs_srgb颜色空间的toCIEXYZ
方法首先从输入的彩色空间转换到cs_ciexyz颜色空间,然后使用这个色彩空间的fromCIEXYZ
方法将从cs_ciexyz到输出色彩空间。更多信息参阅toCIEXYZ
和fromCIEXYZ
。
fromRGB
方法重写,继承类
ColorSpace
rgbvalue
-至少有3长浮点数组。
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少3。
public float[] toCIEXYZ(float[] colorvalue)
此方法使用相对比色法,由国际刑事法院规范定义的颜色值转换。这意味着,该方法返回的值表示相对于XYZ颜色空间的cs_ciexyz D50白点。这表示在两步颜色转换的过程中,色彩是从输入的彩色空间转换到cs_ciexyz然后输出颜色空间是有用的。这表示是不是XYZ值,将测量从给定的颜色值相同的色度计。进一步转变是需要计算的XYZ值,将测量用电流CIE推荐的做法。下面的段落更详细地解释了这一。
ICC标准使用设备无关的色彩空间(盘)的机制,将颜色从一个设备到另一个设备。在这种体系结构中,颜色转换从源设备的色彩空间ICC盘然后从ICC盘到目标设备的色彩空间。ICC标准定义了设备配置文件包含变换将设备的色彩空间和ICC盘之间的转换。颜色从源设备向目的地设备整体色彩转换是通过连接装置盘为源装置的盘装置为目标设备的外形轮廓变换进行变换。为此,ICC盘通常被称为配置文件连接空间(PCS)。使用方法tociexyz和fromciexyz颜色空间由ICC规范定义的CIEXYZ电脑。这也表示colorspace.cs_ciexyz颜色空间。
一个颜色的XYZ值通常表示为相对于一些白色的点,所以XYZ值的实际意义不能称不知道这些值的白点。这就是被称为相对比色法。PCS采用白色点的D50,所以PC的XYZ值是相对于D50。例如,在电脑的白色将D50的XYZ值,其定义为x = 9642,y=1,Z = 0.8249。这一点是常用的图形艺术应用程序,但其他人经常在其他应用程序中使用。
对一个设备如打印机或显示器颜色特征的量化,为特定的设备颜色的XYZ值的测量通常是由。本次讨论的目的,这项装置的XYZ值是指XYZ值,将使用当前的测量装置的颜色CIE推荐的做法。
装置的XYZ值和PCS的XYZ值由该方法返回对应于设备的色彩空间之间的转换之间的转换,由CIE色度值来表示的,和电脑有参与这个过程的因素很多,其中有些是很微妙的。最重要的,然而,是调整考虑到差异的装置的白色点和白点的电脑有很多这样的技术,它是当前许多研究和争论的主题。一些常用的方法是XYZ缩放,von Kries变换,和布拉德福德的变换。使用适当的方法取决于每一个特定的应用程序。
最简单的方法是XYZ缩放。在该方法中每个设备的XYZ值转换乘以PC的白点比PCS XYZ值(D50)的装置,白色的点。
XD,YD,ZD是XYZ值的装置Xdw,YDW,且是设备XYZ白点值XP,YP,ZP是PCS的XYZ值xd50,yd50,zd50是PCS XYZ白点值XP = XD *(xd50 /那一年)YP =码*(yd50 / YDW)ZP = ZD *(zd50 /点)
从PC到设备的转换将通过反相这些方程:
XD = XP *(XDW / xd50)YD = YP *(YDW / yd50)ZD = ZP×(点/ zd50)
请注意,在一个跨国际刑事法院的配置文件中的媒体白点标记是不一样的设备的白点。媒体白点标签是PCS值表示,用来表示设备的光源XYZ和设备的媒体XYZ之间的差异测量时,光源下。该装置的白色点表示为相应的白色显示在设备装置的XYZ值。例如,显示颜色的RGB(1,1,1)在sRGB的设备将导致测量装置的XYZ值D65。这会不会像媒体白点标记XYZ值为sRGB设备的ICC Profile相同。
toCIEXYZ
方法重写,继承类
ColorSpace
colorvalue
-用最少的元件数量这色彩长度浮点数组。
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少数组成这色彩。
public float[] fromCIEXYZ(float[] colorvalue)
此方法使用相对比色法,由国际刑事法院规范定义的颜色值转换。这意味着,该方法由XYZ参数值表示相对的cs_ciexyz颜色空间的D50白点。这表示在两步颜色转换的过程中,色彩是从输入的彩色空间转换到cs_ciexyz然后输出颜色空间是有用的。此方法返回的颜色值并不是那些会产生XYZ值传递给方法的色度计测量时。如果你有相应的使用电流测量CIE推荐做法XYZ值,它们必须被转换为D50相对值之前被传递给该方法。下面的段落更详细地解释了这一。
ICC标准使用设备无关的色彩空间(盘)的机制,将颜色从一个设备到另一个设备。在这种体系结构中,颜色转换从源设备的色彩空间ICC盘然后从ICC盘到目标设备的色彩空间。ICC标准定义了设备配置文件包含变换将设备的色彩空间和ICC盘之间的转换。颜色从源设备向目的地设备整体色彩转换是通过连接装置盘为源装置的盘装置为目标设备的外形轮廓变换进行变换。为此,ICC盘通常被称为配置文件连接空间(PCS)。使用方法tociexyz和fromciexyz颜色空间由ICC规范定义的CIEXYZ电脑。这也表示colorspace.cs_ciexyz颜色空间。
一个颜色的XYZ值通常表示为相对于一些白色的点,所以XYZ值的实际意义不能称不知道这些值的白点。这就是被称为相对比色法。PCS采用白色点的D50,所以PC的XYZ值是相对于D50。例如,在电脑的白色将D50的XYZ值,其定义为x = 9642,y=1,Z = 0.8249。这一点是常用的图形艺术应用程序,但其他人经常在其他应用程序中使用。
对一个设备如打印机或显示器颜色特征的量化,为特定的设备颜色的XYZ值的测量通常是由。本次讨论的目的,这项装置的XYZ值是指XYZ值,将使用当前的测量装置的颜色CIE推荐的做法。
装置的XYZ值和PCS的XYZ值作为参数的方法对应于设备的色彩空间之间的转换之间的转换,由CIE色度值来表示的,和电脑有参与这个过程的因素很多,其中有些是很微妙的。最重要的,然而,是调整考虑到差异的装置的白色点和白点的电脑有很多这样的技术,它是当前许多研究和争论的主题。一些常用的方法是XYZ缩放,von Kries变换,和布拉德福德的变换。使用适当的方法取决于每一个特定的应用程序。
最简单的方法是XYZ缩放。在该方法中每个设备的XYZ值转换乘以PC的白点比PCS XYZ值(D50)的装置,白色的点。
XD,YD,ZD是XYZ值的装置Xdw,YDW,且是设备XYZ白点值XP,YP,ZP是PCS的XYZ值xd50,yd50,zd50是PCS XYZ白点值XP = XD *(xd50 /那一年)YP =码*(yd50 / YDW)ZP = ZD *(zd50 /点)
从PC到设备的转换将通过反相这些方程:
XD = XP *(XDW / xd50)YD = YP *(YDW / yd50)ZD = ZP×(点/ zd50)
请注意,在一个跨国际刑事法院的配置文件中的媒体白点标记是不一样的设备的白点。媒体白点标签是PCS值表示,用来表示设备的光源XYZ和设备的媒体XYZ之间的差异测量时,光源下。该装置的白色点表示为相应的白色显示在设备装置的XYZ值。例如,显示颜色的RGB(1,1,1)在sRGB的设备将导致测量装置的XYZ值D65。这会不会像媒体白点标记XYZ值为sRGB设备的ICC Profile相同。
fromCIEXYZ
方法重写,继承类
ColorSpace
colorvalue
-至少有3长浮点数组。
ArrayIndexOutOfBoundsException
如果数组的长度是不是至少3。
public float getMinValue(int component)
getMinValue
方法重写,继承类
ColorSpace
component
的成份指数。
IllegalArgumentException
如果分量小于0或大于1 numcomponents。
public float getMaxValue(int component)
getMaxValue
方法重写,继承类
ColorSpace
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.