- java.lang.Object
-
- java.awt.Color
-
- All Implemented Interfaces:
-
Paint,Transparency,Serializable
- 已知直接子类:
-
ColorUIResource,SystemColor
public class Color extends Object implements Paint, Serializable
Color类用于将颜色封装在默认的sRGB颜色空间中,或由ColorSpace标识的任意颜色空间中的颜色。 每个颜色的隐含alpha值为1.0或构造函数中提供的一个显式的Alpha值。 alpha值定义了颜色的透明度,可以用范围0.0-1.0或0-255的浮点数来表示。alpha值为1.0或255表示颜色完全不透明,alpha值为0或0.0意味着颜色是完全透明的。 当构造一个Color具有显式α或得到一个的颜色/ alpha分量Color,颜色分量决不会被预乘alpha分量。Java 2D(tm)API的默认颜色空间是sRGB,一种提出的标准RGB颜色空间。 有关sRGB的更多信息,请参阅http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 。
- Version:
- 1997年2月10日
- 另请参见:
-
ColorSpace,AlphaComposite, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field 描述 static Colorblack颜色黑色。static ColorBLACK颜色黑色。static Colorblue颜色蓝色。static ColorBLUE颜色蓝色。static Colorcyan颜色青色。static ColorCYAN颜色青色。static ColorDARK_GRAY颜色深灰色。static ColordarkGray颜色深灰色。static Colorgray颜色灰色。static ColorGRAY颜色灰色。static Colorgreen颜色绿色。static ColorGREEN颜色绿色。static ColorLIGHT_GRAY颜色浅灰色。static ColorlightGray颜色浅灰色。static Colormagenta颜色洋红色。static ColorMAGENTA颜色洋红色。static Colororange颜色橙色。static ColorORANGE颜色橙色。static Colorpink颜色粉红色。static ColorPINK颜色粉红色。static Colorred颜色红色。static ColorRED颜色红色。static Colorwhite颜色白色。static ColorWHITE颜色白色。static Coloryellow颜色黄色。static ColorYELLOW颜色黄色。-
Fields inherited from interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
-
构造方法摘要
构造方法 Constructor 描述 Color(float r, float g, float b)使用范围(0.0 - 1.0)中指定的红色,绿色和蓝色值创建不透明的sRGB颜色。Color(float r, float g, float b, float a)用范围(0.0 - 1.0)中指定的红,绿,蓝和阿尔法值创建sRGB颜色。Color(int rgb)创建一个不透明的sRGB颜色,其中指定的组合RGB值包括位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量。Color(int rgba, boolean hasalpha)使用指定的组合RGBA值创建sRGB颜色,RGBA值由位24-31中的alpha分量,位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量组成。Color(int r, int g, int b)用范围(0 - 255)范围内的指定的红色,绿色和蓝色值创建不透明的sRGB颜色。Color(int r, int g, int b, int a)在范围(0 - 255)范围内创建指定的红,绿,蓝和阿尔法值的sRGB颜色。Color(ColorSpace cspace, float[] components, float alpha)创建指定一个颜色ColorSpace与中指定的颜色分量float阵列和所述指定的alpha。
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 Colorbrighter()创建一个新的Color这是一个更明亮的版本的这个Color。PaintContextcreateContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)创建并返回一个用于生成纯色字段模式的PaintContext。Colordarker()创建一个新的Color这是一个较深的版本的这个Color。static Colordecode(String nm)将String转换为整数,并返回指定的不透明度Color。booleanequals(Object obj)确定另一个对象是否等于此Color。intgetAlpha()返回0-255范围内的alpha分量。intgetBlue()返回默认sRGB空间中0-255范围内的蓝色分量。static ColorgetColor(String nm)在系统属性中查找颜色。static ColorgetColor(String nm, int v)在系统属性中查找颜色。static ColorgetColor(String nm, Color v)在系统属性中查找颜色。float[]getColorComponents(float[] compArray)返回一个float阵列只包含的颜色分量Color,在ColorSpace的的Color。float[]getColorComponents(ColorSpace cspace, float[] compArray)返回一个float数组,其中仅包含由cspace参数指定的Color中的ColorSpace的颜色分量。ColorSpacegetColorSpace()返回此ColorSpace的Color。float[]getComponents(float[] compArray)返回一个包含float的颜色和alpha分量的Color,在ColorSpace的Color。float[]getComponents(ColorSpace cspace, float[] compArray)返回一个float阵列包含的颜色和alpha分量Color,在ColorSpace由指定cspace参数。intgetGreen()返回默认sRGB空间中的0-255范围内的绿色组件。static ColorgetHSBColor(float h, float s, float b)根据HSB颜色模型的指定值创建一个Color对象。intgetRed()返回默认sRGB空间中0-255范围内的红色分量。intgetRGB()返回表示默认sRGBColorModel中颜色的RGB值。float[]getRGBColorComponents(float[] compArray)返回一个float阵列只包含的颜色分量Color,在默认的sRGB色彩空间。float[]getRGBComponents(float[] compArray)返回一个包含float的颜色和alpha组件的Color,如默认sRGB颜色空间所示。intgetTransparency()返回此Color的透明度模式。inthashCode()计算这个Color的哈希码。static intHSBtoRGB(float hue, float saturation, float brightness)将HSB模型指定的颜色组件转换为默认RGB模型的等效值。static float[]RGBtoHSB(int r, int g, int b, float[] hsbvals)将默认RGB模型指定的颜色组件转换为HSB模型的三个组件的色相,饱和度和亮度的等效值。StringtoString()返回此Color的字符串表示Color。
-
-
-
字段详细信息
-
white
public static final Color white
颜色白色。 在默认的sRGB空间。
-
WHITE
public static final Color WHITE
颜色白色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
lightGray
public static final Color lightGray
颜色浅灰色。 在默认的sRGB空间。
-
LIGHT_GRAY
public static final Color LIGHT_GRAY
颜色浅灰色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
gray
public static final Color gray
颜色灰色。 在默认的sRGB空间。
-
GRAY
public static final Color GRAY
颜色灰色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
darkGray
public static final Color darkGray
颜色深灰色。 在默认的sRGB空间。
-
DARK_GRAY
public static final Color DARK_GRAY
颜色深灰色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
black
public static final Color black
颜色黑色。 在默认的sRGB空间。
-
BLACK
public static final Color BLACK
颜色黑色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
red
public static final Color red
颜色红色。 在默认的sRGB空间。
-
RED
public static final Color RED
颜色红色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
pink
public static final Color pink
颜色粉红色。 在默认的sRGB空间。
-
PINK
public static final Color PINK
颜色粉红色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
orange
public static final Color orange
颜色橙色。 在默认的sRGB空间。
-
ORANGE
public static final Color ORANGE
颜色橙色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
yellow
public static final Color yellow
颜色黄色。 在默认的sRGB空间。
-
YELLOW
public static final Color YELLOW
颜色黄色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
green
public static final Color green
颜色绿色。 在默认的sRGB空间。
-
GREEN
public static final Color GREEN
颜色绿色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
magenta
public static final Color magenta
颜色洋红色。 在默认的sRGB空间。
-
MAGENTA
public static final Color MAGENTA
颜色洋红色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
cyan
public static final Color cyan
颜色青色。 在默认的sRGB空间。
-
CYAN
public static final Color CYAN
颜色青色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
blue
public static final Color blue
颜色蓝色。 在默认的sRGB空间。
-
BLUE
public static final Color BLUE
颜色蓝色。 在默认的sRGB空间。- 从以下版本开始:
- 1.4
-
-
构造方法详细信息
-
Color
public Color(int r, int g, int b)用范围(0 - 255)范围内的指定的红色,绿色和蓝色值创建不透明的sRGB颜色。 渲染中使用的实际颜色取决于给定给定输出设备可用的颜色空间的最佳匹配。 Alpha默认为255。- 参数
-
r- 红色组件 -
g- 绿色组件 -
b- 蓝色组件 - 异常
-
IllegalArgumentException-如果r,g或b0到255以外的范围内的,包括 - 另请参见:
-
getRed(),getGreen(),getBlue(),getRGB()
-
Color
@ConstructorProperties({"red","green","blue","alpha"}) public Color(int r, int g, int b, int a)
在范围(0 - 255)范围内创建指定的红,绿,蓝和阿尔法值的sRGB颜色。- 参数
-
r- 红色组件 -
g- 绿色组件 -
b- 蓝色组件 -
a- alpha组件 - 异常
-
IllegalArgumentException-如果r,g,b或a0到255以外的范围内的,包括 - 另请参见:
-
getRed(),getGreen(),getBlue(),getAlpha(),getRGB()
-
Color
public Color(int rgb)
创建一个不透明的sRGB颜色,其中指定的组合RGB值包括位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量。 渲染中使用的实际颜色取决于给定特定输出设备可用的颜色空间的最佳匹配。 Alpha默认为255。- 参数
-
rgb- 组合的RGB组件 - 另请参见:
-
ColorModel.getRGBdefault(),getRed(),getGreen(),getBlue(),getRGB()
-
Color
public Color(int rgba, boolean hasalpha)使用指定的组合RGBA值创建sRGB颜色,RGBA值由位24-31中的alpha分量,位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量组成。 如果hasalpha参数为false,则默认为255。- 参数
-
rgba- 组合的RGBA组件 -
hasalpha-true如果alpha位有效; 否则为false - 另请参见:
-
ColorModel.getRGBdefault(),getRed(),getGreen(),getBlue(),getAlpha(),getRGB()
-
Color
public Color(float r, float g, float b)使用范围(0.0 - 1.0)中指定的红色,绿色和蓝色值创建不透明的sRGB颜色。 Alpha默认为1.0。 渲染中使用的实际颜色取决于给定特定输出设备可用的颜色空间的最佳匹配。- 参数
-
r- 红色组件 -
g- 绿色组件 -
b- 蓝色组件 - 异常
-
IllegalArgumentException-如果r,g或b是0.0〜1.0以外的范围内的,包括 - 另请参见:
-
getRed(),getGreen(),getBlue(),getRGB()
-
Color
public Color(float r, float g, float b, float a)用范围(0.0 - 1.0)中指定的红,绿,蓝和阿尔法值创建sRGB颜色。 渲染中使用的实际颜色取决于给定特定输出设备可用的颜色空间的最佳匹配。- 参数
-
r- 红色组件 -
g- 绿色组件 -
b- 蓝色组件 -
a- alpha组件 - 异常
-
IllegalArgumentException-如果r,gb或a是0.0〜1.0的范围以外,含 - 另请参见:
-
getRed(),getGreen(),getBlue(),getAlpha(),getRGB()
-
Color
public Color(ColorSpace cspace, float[] components, float alpha)
创建指定一个颜色ColorSpace与中指定的颜色分量float阵列和所述指定的alpha。 组件的数量由ColorSpace的类型ColorSpace。 例如,RGB需要3个组件,但CMYK需要4个组件。- 参数
-
cspace- 用于解释组件的ColorSpace -
components- 与ColorSpace兼容的任意数量的颜色分量 -
alpha- alpha值 - 异常
-
IllegalArgumentException- 如果components数组或alpha中的任何值超出范围0.0到1.0 - 另请参见:
-
getComponents(float[]),getColorComponents(float[])
-
-
方法详细信息
-
getRed
public int getRed()
返回默认sRGB空间中0-255范围内的红色分量。- 结果
- 红色组件。
- 另请参见:
-
getRGB()
-
getGreen
public int getGreen()
返回默认sRGB空间中的0-255范围内的绿色组件。- 结果
- 绿色组件。
- 另请参见:
-
getRGB()
-
getBlue
public int getBlue()
返回默认sRGB空间中0-255范围内的蓝色分量。- 结果
- 蓝色组件。
- 另请参见:
-
getRGB()
-
getAlpha
public int getAlpha()
返回0-255范围内的alpha分量。- 结果
- alpha组件。
- 另请参见:
-
getRGB()
-
getRGB
public int getRGB()
返回表示默认sRGBColorModel中颜色的RGB值。 (位24-31是alpha,16-23是红色,8-15是绿色,0-7是蓝色)。- 结果
-
颜色的RGB值默认为sRGB
ColorModel。 - 从以下版本开始:
- 1.0
- 另请参见:
-
ColorModel.getRGBdefault(),getRed(),getGreen(),getBlue()
-
brighter
public Color brighter()
创建一个新的Color这是更加明亮的版本的这个Color。此方法适用于以任意倍率每本的三个RGB分量
Color创建此的一个亮的Color。 保留alpha价值。 虽然brighter和darker是反向操作,但由于舍入误差,这两种方法的一系列调用的结果可能不一致。- 结果
-
一个新的
Color对象是这个Color的更明亮的版本,具有相同的alpha值。 - 从以下版本开始:
- 1.0
- 另请参见:
-
darker()
-
darker
public Color darker()
创建一个新的Color这是一个较深的版本的这个Color。此方法适用于任意的比例因子到每个这种的三个RGB分量
Color创建此的较暗的版本Color。 保留alpha价值。 虽然brighter和darker是反向操作,但由于舍入误差,这两种方法的一系列调用的结果可能不一致。- 结果
-
一个新的
Color对象,这是一个较深的版本,这个Color具有相同的alpha值。 - 从以下版本开始:
- 1.0
- 另请参见:
-
brighter()
-
hashCode
public int hashCode()
计算这个Color的哈希码。- 重写:
-
hashCode在Object - 结果
- 该对象的哈希码值。
- 从以下版本开始:
- 1.0
- 另请参见:
-
Object.equals(java.lang.Object),System.identityHashCode(java.lang.Object)
-
equals
public boolean equals(Object obj)
确定另一个对象是否等于此Color。结果是
true当且仅当参数不是null并且是一个Color对象具有与此对象相同的红色,绿色,蓝色和alpha值。- 重写:
-
equals在Object - 参数
-
obj- 要测试与Color相等的对象 - 结果
-
true如果对象是相同的; 否则为false。 - 从以下版本开始:
- 1.0
- 另请参见:
-
Object.hashCode(),HashMap
-
toString
public String toString()
返回此Color的字符串表示Color。 该方法仅用于调试目的。 返回的字符串的内容和格式可能因实现而异。 返回的字符串可能为空,但不能为null。
-
decode
public static Color decode(String nm) throws NumberFormatException
将String转换为整数,并返回指定的不透明度Color。 此方法处理用于表示八进制和十六进制数字的字符串格式。- 参数
-
nm- 表示不透明颜色为24位整数的String - 结果
-
新的
Color对象。 - 异常
-
NumberFormatException- 如果指定的字符串不能被解释为十进制,八进制或十六进制整数。 - 从以下版本开始:
- 1.1
- 另请参见:
-
Integer.decode(java.lang.String)
-
getColor
public static Color getColor(String nm)
在系统属性中查找颜色。该参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为
Color对象。如果未找到指定的属性或无法将其解析为整数,则返回
null。- 参数
-
nm- 颜色属性的名称 - 结果
-
从系统属性转换
Color。 - 从以下版本开始:
- 1.0
- 另请参见:
-
System.getProperty(java.lang.String),Integer.getInteger(java.lang.String),Color(int)
-
getColor
public static Color getColor(String nm, Color v)
在系统属性中查找颜色。第一个参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为
Color对象。如果未找到指定的属性或不能将其解析为整数,
Color返回由第二个参数指定的Color。- 参数
-
nm- 颜色属性的名称 -
v- 默认Color - 结果
-
Color从系统属性转换,或指定Color。 - 从以下版本开始:
- 1.0
- 另请参见:
-
System.getProperty(java.lang.String),Integer.getInteger(java.lang.String),Color(int)
-
getColor
public static Color getColor(String nm, int v)
在系统属性中查找颜色。第一个参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为
Color对象。如果未找到指定的属性或不能将其解析为整数,则使用整数值
v,并将其转换为Color对象。- 参数
-
nm- 颜色属性的名称 -
v- 默认颜色值,为整数 - 结果
-
所述
Color从系统属性转换或Color从指定的整数转换。 - 从以下版本开始:
- 1.0
- 另请参见:
-
System.getProperty(java.lang.String),Integer.getInteger(java.lang.String),Color(int)
-
HSBtoRGB
public static int HSBtoRGB(float hue, float saturation, float brightness)将HSB模型指定的颜色组件转换为默认RGB模型的等效值。saturation和brightness组件应为零和一之间的浮点值(数字范围为0.0-1.0)。hue组件可以是任意浮点数。 从该数字中减去该数字的底数以创建0到1之间的分数。然后将该分数乘以360,以在HSB颜色模型中产生色调角。由
HSBtoRGB返回的整数对与方法getRGB使用的格式相同的整数值的位0-23的颜色的值进行编码。 该整数可以作为一个参数提供给Color构造函数,该构造函数需要一个整数参数。- 参数
-
hue- 颜色的色调分量 -
saturation- 颜色的饱和度 -
brightness- 颜色的亮度 - 结果
- 具有指示色调,饱和度和亮度的颜色的RGB值。
- 从以下版本开始:
- 1.0
- 另请参见:
-
getRGB(),Color(int),ColorModel.getRGBdefault()
-
RGBtoHSB
public static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals)将默认RGB模型指定的颜色组件转换为HSB模型的三个组件的色相,饱和度和亮度的等效值。如果
hsbvals参数为null,则会分配一个新数组以返回结果。 否则,该方法返回数组hsbvals,其值放入该数组。- 参数
-
r- 颜色的红色成分 -
g- 颜色的绿色成分 -
b- 颜色的蓝色成分 -
hsbvals- 用于返回三个HSB值的数组,或null - 结果
- 具有指示的红色,绿色和蓝色分量的颜色的三个元素的阵列,其中包含色调,饱和度和亮度(按顺序)。
- 从以下版本开始:
- 1.0
- 另请参见:
-
getRGB(),Color(int),ColorModel.getRGBdefault()
-
getHSBColor
public static Color getHSBColor(float h, float s, float b)
基于HSB颜色模型的指定值创建Color对象。s和b组件应为零和一之间的浮点值(数字范围为0.0-1.0)。h组件可以是任意浮点数。 从该数字中减去该数字的底数以创建0到1之间的分数。然后将该分数乘以360,以在HSB颜色模型中产生色调角。- 参数
-
h- 色相组件 -
s- 颜色的饱和度 -
b- 颜色的亮度 - 结果
-
具有指定色调,饱和度和亮度的
Color对象。 - 从以下版本开始:
- 1.0
-
getRGBComponents
public float[] getRGBComponents(float[] compArray)
返回一个包含float的颜色和alpha组件的Color,如默认sRGB颜色空间所示。 如果compArray为null,则为返回值创建一个长度为4的数组。 否则,compArray必须具有4或更大的长度,并且它被填充到组件并返回。- 参数
-
compArray- 这个方法填充颜色和alpha组件并返回的数组 - 结果
-
一个
float阵列中的RGBA组件。
-
getRGBColorComponents
public float[] getRGBColorComponents(float[] compArray)
返回一个float阵列只包含的颜色分量Color,在默认的sRGB色彩空间。 如果compArray为null,则为返回值创建长度为3的数组。 否则,compArray必须具有3或更大的长度,并且它被填充到组件并返回。- 参数
-
compArray- 此方法填充颜色分量并返回的数组 - 结果
-
一个
float阵列中的RGB组件。
-
getComponents
public float[] getComponents(float[] compArray)
返回一个包含float的颜色和alpha分量的Color,在ColorSpace的Color。 如果compArray为null,则为返回值创建一个长度等于相关ColorSpace加上一个组件数的数组。 否则,compArray必须至少具有此长度,并填充组件并返回。- 参数
-
compArray- 一个数组,该方法填充了该Color的颜色和alpha分量,其ColorSpace并返回 - 结果
-
一个
float阵列中的颜色和alpha组件。
-
getColorComponents
public float[] getColorComponents(float[] compArray)
返回一个float阵列只包含的颜色分量Color,在ColorSpace的的Color。 如果compArray为null,ColorSpace返回值创建长度等于相关ColorSpace中组件数的数组。 否则,compArray必须至少有这个长度,并且它被填充到组件并返回。- 参数
-
compArray- 该方法填充了其Color中的ColorSpace的颜色分量的数组,并返回 - 结果
-
颜色分量在
float阵列中。
-
getComponents
public float[] getComponents(ColorSpace cspace, float[] compArray)
返回一个包含float的颜色和alpha分量的Color,由ColorSpace指定的cspace参数。 如果compArray为null,则为返回值创建长度等于cspace的组件数的数组。 否则,compArray必须至少有这个长度,并且它被填充到组件并返回。- 参数
-
cspace- 一个指定的ColorSpace -
compArray-此方法与此的颜色和alpha分量填充数组Color在指定ColorSpace并返回 - 结果
-
一个
float阵列中的颜色和alpha组件。
-
getColorComponents
public float[] getColorComponents(ColorSpace cspace, float[] compArray)
返回一个float数组,仅包含由cspace参数指定的Color中的ColorSpace的颜色分量。 如果compArray为null,cspace返回值创建长度等于cspace中组件数的数组。 否则,compArray必须至少具有这个长度,并且它被填充到组件并返回。- 参数
-
cspace- 一个指定的ColorSpace -
compArray- 一个数组,该方法填充了这个Color的颜色分量,在指定的ColorSpace - 结果
-
颜色分量在
float阵列中。
-
getColorSpace
public ColorSpace getColorSpace()
返回这ColorSpace的Color。- 结果
-
这
Color对象的ColorSpace。
-
createContext
public PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
创建并返回一个用于生成纯色字段模式的PaintContext。 见specification方法在Paint界面上的空参数处理信息。- Specified by:
-
createContext在接口Paint - 参数
-
cm- 首选的ColorModel,表示呼叫者接收像素数据的最方便的格式,如果没有偏好,则表示null。 -
r- 正在渲染的图形基元的设备空间边界框。 -
r2d- 呈现的图形基元的用户空间边界框。 -
xform- 从用户空间到设备空间的AffineTransform。 -
hints- 上下文对象可用于在呈现替代方案之间进行选择的一组提示。 - 结果
-
用于生成颜色图案的
PaintContext。 - 另请参见:
-
Paint,PaintContext,ColorModel,Rectangle,Rectangle2D,AffineTransform,RenderingHints
-
getTransparency
public int getTransparency()
返回此Color的透明度模式。 这是实现Paint接口所必需的。- Specified by:
-
getTransparency在接口Transparency - 结果
-
这个
Color对象的透明度模式。 - 另请参见:
-
Paint,Transparency,createContext(java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints)
-
-