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 。
ColorSpace
, AlphaComposite
, Serialized Form
Modifier and Type | Field and Description |
---|---|
static Color |
black
颜色黑色。
|
static Color |
BLACK
颜色黑色。
|
static Color |
blue
颜色蓝色。
|
static Color |
BLUE
颜色蓝色。
|
static Color |
cyan
颜色青色。
|
static Color |
CYAN
颜色青色。
|
static Color |
DARK_GRAY
颜色深灰色。
|
static Color |
darkGray
颜色深灰色。
|
static Color |
gray
颜色灰色。
|
static Color |
GRAY
颜色灰色。
|
static Color |
green
颜色绿色。
|
static Color |
GREEN
颜色绿色。
|
static Color |
LIGHT_GRAY
颜色浅灰色。
|
static Color |
lightGray
颜色浅灰色。
|
static Color |
magenta
颜色洋红色。
|
static Color |
MAGENTA
颜色洋红色。
|
static Color |
orange
颜色橙色。
|
static Color |
ORANGE
颜色橙色。
|
static Color |
pink
颜色粉红色。
|
static Color |
PINK
颜色粉红色。
|
static Color |
red
颜色红色。
|
static Color |
RED
颜色红色。
|
static Color |
white
颜色白色。
|
static Color |
WHITE
颜色白色。
|
static Color |
yellow
颜色黄色。
|
static Color |
YELLOW
颜色黄色。
|
BITMASK, OPAQUE, TRANSLUCENT
Constructor and Description |
---|
Color(ColorSpace cspace, float[] components, float alpha)
创建指定一个颜色
ColorSpace 与中指定的颜色分量
float 阵列和所述指定的alpha。
|
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颜色。
|
Modifier and Type | Method and Description |
---|---|
Color |
brighter()
创建一个新
Color 是这个的亮的
Color 。
|
PaintContext |
createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
创建并返回一个用于生成纯色字段模式的 PaintContext 。
|
Color |
darker()
创建一个新的
Color 这是一个较深的版本的这个
Color 。
|
static Color |
decode(String nm)
将
String 转换为整数,并返回指定的不透明度
Color 。
|
boolean |
equals(Object obj)
确定另一个对象是否等于此
Color 。
|
int |
getAlpha()
返回0-255范围内的alpha分量。
|
int |
getBlue()
返回默认sRGB空间中0-255范围内的蓝色分量。
|
static Color |
getColor(String nm)
在系统属性中查找颜色。
|
static Color |
getColor(String nm, Color v)
在系统属性中查找颜色。
|
static Color |
getColor(String nm, int v)
在系统属性中查找颜色。
|
float[] |
getColorComponents(ColorSpace cspace, float[] compArray)
返回一个
float 数组,仅包含cspace参数指定的
Color 中的
ColorSpace 的
cspace 分量。
|
float[] |
getColorComponents(float[] compArray)
返回一个
float 数组,只包含Color的颜色
Color ,在
ColorSpace 的
Color 。
|
ColorSpace |
getColorSpace()
返回
ColorSpace 的这个
Color 。
|
float[] |
getComponents(ColorSpace cspace, float[] compArray)
返回一个
float 阵列包含的颜色和alpha分量
Color ,在
ColorSpace 由指定
cspace 参数。
|
float[] |
getComponents(float[] compArray)
返回一个
float 数组,其中包含Color的颜色和alpha
Color ,在
ColorSpace 的
Color 。
|
int |
getGreen()
返回默认sRGB空间中的0-255范围内的绿色组件。
|
static Color |
getHSBColor(float h, float s, float b)
基于HSB颜色模型的指定值创建一个
Color 对象。
|
int |
getRed()
返回默认sRGB空间中0-255范围内的红色分量。
|
int |
getRGB()
返回表示默认sRGB ColorModel 中颜色的RGB值。
|
float[] |
getRGBColorComponents(float[] compArray)
返回一个
float 阵列只包含的颜色分量
Color ,在默认的sRGB色彩空间。
|
float[] |
getRGBComponents(float[] compArray)
返回一个
float 数组,其中包含Color的颜色和alpha
Color ,如默认sRGB颜色空间所示。
|
int |
getTransparency()
返回此透明度模式
Color 。
|
int |
hashCode()
计算这个
Color 的哈希码。
|
static int |
HSBtoRGB(float hue, float saturation, float brightness)
将HSB模型指定的颜色组件转换为默认RGB模型的等效值。
|
static float[] |
RGBtoHSB(int r, int g, int b, float[] hsbvals)
将默认RGB模型指定的颜色组件转换为HSB模型的三个组件的色相,饱和度和亮度的等效值。
|
String |
toString()
返回此
Color 的字符串表示
Color 。
|
public static final Color white
public static final Color WHITE
public static final Color lightGray
public static final Color LIGHT_GRAY
public static final Color gray
public static final Color GRAY
public static final Color darkGray
public static final Color DARK_GRAY
public static final Color black
public static final Color BLACK
public static final Color red
public static final Color RED
public static final Color pink
public static final Color PINK
public static final Color orange
public static final Color ORANGE
public static final Color yellow
public static final Color YELLOW
public static final Color green
public static final Color GREEN
public static final Color magenta
public static final Color MAGENTA
public static final Color cyan
public static final Color CYAN
public static final Color blue
public static final Color BLUE
public Color(int r, int g, int b)
r
- 红色组件
g
- 绿色组件
b
- 蓝色组件
IllegalArgumentException
-如果
r
,
g
或
b
是0到255的范围之外,包括
getRed()
,
getGreen()
,
getBlue()
,
getRGB()
@ConstructorProperties(value={"red","green","blue","alpha"}) public Color(int r, int g, int b, int a)
r
- 红色组件
g
- 绿色组件
b
- 蓝色组件
a
- alpha组件
IllegalArgumentException
-如果
r
,
g
,
b
或
a
是0到255的范围之外,包括
getRed()
,
getGreen()
,
getBlue()
,
getAlpha()
,
getRGB()
public Color(int rgb)
rgb
- 组合的RGB组件
ColorModel.getRGBdefault()
,
getRed()
,
getGreen()
,
getBlue()
,
getRGB()
public Color(int rgba, boolean hasalpha)
hasalpha
参数是false
,则默认为255。
rgba
- 组合的RGBA组件
hasalpha
- true
如果alpha位有效;
false
否则
ColorModel.getRGBdefault()
,
getRed()
,
getGreen()
,
getBlue()
,
getAlpha()
,
getRGB()
public Color(float r, float g, float b)
r
- 红色组件
g
- 绿色组件
b
- 蓝色组件
IllegalArgumentException
-如果
r
,
g
或
b
在范围0.0至1.0以外,包容
getRed()
,
getGreen()
,
getBlue()
,
getRGB()
public Color(float r, float g, float b, float a)
r
- 红色组件
g
- 绿色组件
b
- 蓝色组件
a
- alpha组件
IllegalArgumentException
-如果
r
,
g
b
或
a
在范围0.0至1.0以外,包容
getRed()
,
getGreen()
,
getBlue()
,
getAlpha()
,
getRGB()
public Color(ColorSpace cspace, float[] components, float alpha)
ColorSpace
与中指定的颜色分量float
阵列和所述指定的alpha。
组件的数量由ColorSpace的类型ColorSpace
。
例如,RGB需要3个组件,但CMYK需要4个组件。
cspace
-在
ColorSpace
被用来解释组件
components
- 与ColorSpace兼容的任意数量的颜色
ColorSpace
alpha
- alpha值
IllegalArgumentException
- 如果
components
阵列或
alpha
中的任何值超出范围0.0到1.0
getComponents(float[])
,
getColorComponents(float[])
public int getRed()
getRGB()
public int getGreen()
getRGB()
public int getBlue()
getRGB()
public int getAlpha()
getRGB()
public int getRGB()
ColorModel
中颜色的RGB值。
(位24-31是alpha,16-23是红色,8-15是绿色,0-7是蓝色)。
ColorModel
。
ColorModel.getRGBdefault()
,
getRed()
,
getGreen()
,
getBlue()
public Color brighter()
Color
是这个的亮的Color
。
此方法适用于以任意倍率每本的三个RGB分量Color
创建此的一个亮的Color
。 alpha
值被保留。 虽然brighter
和darker
是反向操作,但是由于舍入误差,这两种方法的一系列调用的结果可能不一致。
Color
对象,这是一个更明亮的版本,这个
Color
具有相同的
alpha
值。
darker()
public Color darker()
Color
这是一个较深的版本的这个Color
。
此方法适用于任意的比例因子到每个这种的三个RGB分量Color
创建此的较暗的版本Color
。 alpha
值被保留。 虽然brighter
和darker
是反向操作,但由于舍入误差,这两种方法的一系列调用的结果可能不一致。
Color
对象,这是一个较深的版本,这个
Color
具有相同的
alpha
值。
brighter()
public int hashCode()
Color
的哈希码。
hashCode
中的
Object
Object.equals(java.lang.Object)
,
System.identityHashCode(java.lang.Object)
public boolean equals(Object obj)
Color
。
如果且仅当参数不是null
并且是与Color
对象具有相同的红色,绿色,蓝色和alpha值的Color
对象时,结果为true
。
equals
在类别
Object
obj
- 要测试与此
Color
相等的对象
true
如果对象是一样的;
false
否则。
Object.hashCode()
, HashMap
public String toString()
Color
的字符串表示Color
。
该方法仅用于调试目的。
返回的字符串的内容和格式可能因实现而异。
返回的字符串可能为空,但不能为null
。
public static Color decode(String nm) throws NumberFormatException
String
转换为整数,并返回指定的不透明度Color
。
此方法处理用于表示八进制和十六进制数字的字符串格式。
nm
-一个
String
表示不透明的颜色作为24位整数
Color
对象。
NumberFormatException
- 如果指定的字符串不能被解释为十进制,八进制或十六进制整数。
Integer.decode(java.lang.String)
public static Color getColor(String nm)
该参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为Color
对象。
如果未找到指定的属性或无法将其解析为整数,则返回null
。
nm
- 颜色属性的名称
Color
从系统属性转换。
System.getProperty(java.lang.String)
,
Integer.getInteger(java.lang.String)
,
Color(int)
public static Color getColor(String nm, Color v)
第一个参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为Color
对象。
如果未找到指定的属性或不能将其解析为整数,则返回第二个参数Color
Color。
nm
- 颜色属性的名称
v
- 默认值
Color
Color
从系统属性转换,或指定的
Color
。
System.getProperty(java.lang.String)
,
Integer.getInteger(java.lang.String)
,
Color(int)
public static Color getColor(String nm, int v)
第一个参数被视为要获取的系统属性的名称。 然后将此属性的字符串值解释为整数,然后将其转换为Color
对象。
如果未找到指定的属性或不能将其解析为整数,则使用整数值v
,并转换为Color
对象。
nm
- 颜色属性的名称
v
- 默认颜色值,为整数
Color
从系统属性或转换
Color
从指定的整数转换。
System.getProperty(java.lang.String)
,
Integer.getInteger(java.lang.String)
,
Color(int)
public static int HSBtoRGB(float hue, float saturation, float brightness)
saturation
和brightness
组件应为零和一之间的浮点值(数字范围为0.0-1.0)。 hue
组件可以是任何浮点数。 从该数字中减去该数字的底数以创建0到1之间的分数。然后将该分数乘以360,以在HSB颜色模型中产生色调角。
由HSBtoRGB
返回的整数对与方法getRGB
使用的格式相同的整数值的位0-23的颜色值进行编码。 该整数可以作为一个参数提供给Color
构造函数,该Color
函数需要一个整数参数。
hue
- 颜色的色调分量
saturation
- 颜色的饱和度
brightness
- 颜色的亮度
getRGB()
,
Color(int)
,
ColorModel.getRGBdefault()
public static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals)
如果hsbvals
参数是null
,则会null
一个新数组以返回结果。 否则,该方法返回数组hsbvals
,其值放入该数组中。
r
- 颜色的红色成分
g
- 颜色的绿色成分
b
- 颜色的蓝色成分
hsbvals
- 用于返回三个HSB值的数组,或
null
getRGB()
,
Color(int)
,
ColorModel.getRGBdefault()
public static Color getHSBColor(float h, float s, float b)
Color
对象。
s
和b
组件应为零和一之间的浮点值(数字范围为0.0-1.0)。 h
组件可以是任何浮点数。 从该数字中减去该数字的底数以创建0到1之间的分数。然后将该分数乘以360,以在HSB颜色模型中产生色调角。
h
- 色相组件
s
- 颜色的饱和度
b
- 颜色的亮度
Color
色调,饱和度和亮度的
Color
对象。
public float[] getRGBComponents(float[] compArray)
float
数组,其中包含Color的颜色和alpha Color
,如默认sRGB颜色空间所示。
如果compArray
为null
,则为返回值创建长度为4的数组。
否则, compArray
必须具有4或更大的长度,并且它被填充到组件并返回。
compArray
- 这个方法填充颜色和alpha组件并返回的数组
float
阵列中的RGBA组件。
public float[] getRGBColorComponents(float[] compArray)
float
阵列只包含的颜色分量Color
,在默认的sRGB色彩空间。
如果compArray
为null
,则为返回值创建长度为3的数组。
否则, compArray
必须具有3或更大的长度,并且它被填充到组件并返回。
compArray
- 此方法填充颜色分量并返回的数组
float
阵列中的RGB组件。
public float[] getComponents(float[] compArray)
float
阵列包含的颜色和alpha分量Color
,在ColorSpace
的的Color
。
如果compArray
为null
, ColorSpace
返回值创建长度等于关联的ColorSpace
加上一个组件数的数组。
否则, compArray
必须至少有这个长度,并且它被填充到组件并返回。
compArray
- 一个数组,该方法填充该
Color
的颜色和alpha
Color
在其
ColorSpace
并返回
float
阵列中的颜色和alpha组件。
public float[] getColorComponents(float[] compArray)
float
数组,只包含Color的颜色Color
,在ColorSpace
的Color
。
如果compArray
为null
, ColorSpace
返回值创建长度等于关联的组件数量的数组。
否则, compArray
必须至少有这个长度,并且它被填充到组件并返回。
compArray
- 一个数组,该方法填充Color的颜色
Color
在其
ColorSpace
并返回
float
阵列中。
public float[] getComponents(ColorSpace cspace, float[] compArray)
float
阵列包含的颜色和alpha分量Color
,在ColorSpace
由指定cspace
参数。
如果compArray
是null
, cspace
返回值创建长度等于cspace
加上一个cspace
数的数组。
否则, compArray
必须至少有这个长度,并且它被填充到组件并返回。
cspace
- 一个指定的
ColorSpace
compArray
-的阵列,此方法与此的颜色和alpha分量填充
Color
在指定
ColorSpace
并返回
float
阵列中的颜色和alpha组件。
public float[] getColorComponents(ColorSpace cspace, float[] compArray)
float
数组,仅包含cspace参数指定的Color
中的ColorSpace
的cspace
分量。
如果compArray
为null
, cspace
返回值创建长度等于cspace中cspace
数的数组。
否则, compArray
必须至少有这个长度,并且它被填充到组件并返回。
cspace
- 一个指定的
ColorSpace
compArray
- 一个数组,该方法填充了该指定的
Color
的颜色分量
ColorSpace
float
阵列中。
public ColorSpace getColorSpace()
ColorSpace
的
Color
。
Color
对象的
ColorSpace
。
public PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
PaintContext
。
有关空参数处理的信息,请参见Paint
接口中的specification
方法。
createContext
在界面
Paint
cm
-优选ColorModel
表示用于呼叫者接收的像素数据,或最方便的格式null
如果没有偏好。
r
- 正在渲染的图形基元的设备空间边界框。
r2d
- 呈现的图形基元的用户空间边界框。
xform
- 从用户空间到设备空间的AffineTransform
。
hints
- 上下文对象可用于在呈现替代方案之间进行选择的一组提示。
PaintContext
。
Paint
, PaintContext
, ColorModel
, Rectangle
, Rectangle2D
, AffineTransform
, RenderingHints
public int getTransparency()
Color
。
这是需要实现Paint
接口。
getTransparency
在界面
Transparency
Color
对象的透明度模式。
Paint
,
Transparency
,
createContext(java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints)