- java.lang.Object
-
- java.awt.Color
-
- 实现的所有接口
-
Paint,Transparency,Serializable
- 已知直接子类:
-
ColorUIResource,SystemColor
public class Color extends Object implements Paint, Serializable
Color类用于封装默认sRGB颜色空间中的颜色或由ColorSpace标识的任意颜色空间中的颜色。 每种颜色都具有1.0的隐式alpha值或构造函数中提供的显式alpha值。 alpha值定义颜色的透明度,可以用0.0 - 1.0或0 - 255范围内的浮点值表示.1.0或255的alpha值表示颜色完全不透明,alpha值为0或0.0意味着颜色是完全透明的。 当构造具有显式alpha或获得Color的颜色/ alpha分量的Color,颜色分量永远不会被alpha分量预乘。Java 2D(tm)API的默认颜色空间是sRGB,一种建议的标准RGB颜色空间。 有关sRGB的更多信息,请参阅http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html 。
- 另请参见:
-
ColorSpace,AlphaComposite, Serialized Form
-
-
字段汇总
字段 变量和类型 字段 描述 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 declared in interface java.awt.Transparency
BITMASK, OPAQUE, TRANSLUCENT
-
-
构造方法摘要
构造方法 构造器 描述 Color(float r, float g, float b)使用指定的红色,绿色和蓝色值(0.0 - 1.0)创建不透明的sRGB颜色。Color(float r, float g, float b, float a)使用指定的红色,绿色,蓝色和Alpha值(范围为0.0 - 1.0)创建sRGB颜色。Color(int rgb)使用指定的组合RGB值创建不透明的sRGB颜色,该值由位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量组成。Color(int rgba, boolean hasalpha)使用指定的组合RGBA值创建sRGB颜色,该值由位24-31中的alpha分量,位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量组成。Color(int r, int g, int b)使用指定的红色,绿色和蓝色值创建不透明的sRGB颜色,范围为(0 - 255)。Color(int r, int g, int b, int a)使用指定的红色,绿色,蓝色和alpha值(范围为0 - 255)创建sRGB颜色。Color(ColorSpace cspace, float[] components, float alpha)使用float数组中指定的颜色分量和指定的alpha创建指定的ColorSpace中的颜色。
-
方法摘要
所有方法 静态方法 实例方法 具体的方法 变量和类型 方法 描述 Colorbrighter()创建一个新的Color,它是此的一个亮的Color。PaintContextcreateContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)创建并返回用于生成纯色域图案的PaintContext。Colordarker()创建一个新的Color,它是该Color的较暗版本。static Colordecode(String nm)将String转换为整数并返回指定的opaqueColor。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)使用指定的红色,绿色和蓝色值创建不透明的sRGB颜色,范围为(0 - 255)。 渲染中使用的实际颜色取决于在给定输出设备可用的颜色空间的情况下找到最佳匹配。 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)
使用指定的红色,绿色,蓝色和alpha值(范围为0 - 255)创建sRGB颜色。- 参数
-
r- 红色组件 -
g- 绿色组件 -
b- 蓝色组件 -
a- alpha分量 - 异常
-
IllegalArgumentException-如果r,g,b或a0到255以外的范围内的,包括 - 另请参见:
-
getRed(),getGreen(),getBlue(),getAlpha(),getRGB()
-
Color
public Color(int rgb)
使用指定的组合RGB值创建不透明的sRGB颜色,该值由位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颜色,该值由位24-31中的alpha分量,位16-23中的红色分量,位8-15中的绿色分量和位0-7中的蓝色分量组成。 如果hasalpha参数为false,则alpha默认为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)使用指定的红色,绿色,蓝色和Alpha值(范围为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)
使用float数组中指定的颜色分量和指定的alpha创建指定的ColorSpace中的颜色。 组件数量由ColorSpace的类型ColorSpace。 例如,RGB需要3个组件,但CMYK需要4个组件。- 参数
-
cspace- 用于解释组件的ColorSpace -
components- 与ColorSpace兼容的任意数量的颜色组件 -
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是α,16-23是红色,8-15是绿色,0-7是蓝色)。- 结果
-
默认sRGB
ColorModel颜色的RGB值。 - 从以下版本开始:
- 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。当且仅当参数不是
null并且是具有与Color对象相同的红色,绿色,蓝色和alpha值的Color对象时,结果为true。- 重写:
-
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-String,表示不透明颜色为24位整数 - 结果
-
新的
Color对象。 - 异常
-
NumberFormatException- 如果指定的字符串不能解释为十进制,八进制或十六进制整数。 - 从以下版本开始:
- 1.1
- 另请参见:
-
Integer.decode(java.lang.String)
-
getColor
public static Color getColor(String nm)
在系统属性中查找颜色。该参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为
Color对象。如果未找到指定的属性或无法将其解析为整数,则返回
null。- 参数
-
nm- color属性的名称 - 结果
-
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。- 参数
-
nm- color属性的名称 -
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- color属性的名称 -
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到1之间的浮点值(数字范围为0.0-1.0)。hue组件可以是任何浮点数。 从中减去该数字的下限以创建0和1之间的分数。然后将该分数乘以360以在HSB颜色模型中产生色调角。由
HSBtoRGB返回的整数对整数值的位0-23中的颜色值进行编码,该整数值与方法getRGB使用的格式相同。 此整数可作为参数提供给采用单个整数参数的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到1之间的浮点值(数字范围为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的组件数加1的数组。 否则,compArray必须至少具有此长度,并使用组件填充并返回。- 参数
-
compArray- 此方法在其ColorSpace填充此Color的颜色和alpha分量并返回的ColorSpace - 结果
-
float数组中的颜色和alpha分量。
-
getColorComponents
public float[] getColorComponents(float[] compArray)
返回一个float阵列只包含的颜色分量Color,在ColorSpace的的Color。 如果compArray是null,ColorSpace返回值创建长度等于关联的ColorSpace的组件数的数组。 否则,compArray必须至少具有此长度,并使用组件填充并返回。- 参数
-
compArray- 此方法在其ColorSpace中使用此Color的颜色组件填充的数组,并返回 - 结果
-
float数组中的颜色组件。
-
getComponents
public float[] getComponents(ColorSpace cspace, float[] compArray)
返回一个float阵列包含的颜色和alpha分量Color,在ColorSpace由指定cspace参数。 如果compArray是null,则为返回值创建一个长度等于cspace的组件cspace加1的数组。 否则,compArray必须至少具有此长度,并使用组件填充并返回。- 参数
-
cspace- 指定的ColorSpace -
compArray- 此方法在指定的ColorSpace填充此Color的颜色和alpha分量并返回的ColorSpace - 结果
-
float数组中的颜色和alpha分量。
-
getColorComponents
public float[] getColorComponents(ColorSpace cspace, float[] compArray)
返回一个float数组,该数组仅包含cspace参数指定的Color中的ColorSpace的颜色分量。 如果compArray是null,cspace返回值创建长度等于cspace的组件数的数组。 否则,compArray必须至少具有此长度,并使用组件填充并返回。- 参数
-
cspace- 指定的ColorSpace -
compArray- 此方法在指定的ColorSpace中使用此Color的颜色组件填充的数组 - 结果
-
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)
-
-