public class Color extends Object implements Paint, Serializable
Color
类用于封装的颜色在默认的sRGB色彩空间或颜色任意颜色空间的
ColorSpace
鉴定。每一个颜色都有一个1或一个显式函数的隐式α值或一个显式的函数。α值定义颜色的透明度和可在范围0 - 1或0 - 255浮点值表示。一个255或1的α值意味着颜色是完全不透明的,一个0或0的α值意味着颜色是完全透明的。当构建一个明确的
Color
α或得到一个
Color
颜色/ alpha分量,颜色分量不预乘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 阵列和指定的阿尔法指定颜色分量的颜色创建。
|
Color(float r, float g, float b)
一个指定的红、绿色不透明的sRGB色彩造成的,并在距离蓝值(0 - 1)。
|
Color(float r, float g, float b, float a)
用指定的红、绿、蓝sRGB色彩创造,并在范围内的α值(0 - 1)。
|
Color(int rgb)
一个具有指定组合的RGB值由位16-23的红色成分不透明的sRGB色彩创造,位8-15绿色成分,和位0-7的蓝色分量。
|
Color(int rgba, boolean hasalpha)
用指定的联合组成的RGBA值位24-31 alpha分量sRGB色彩创造,位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)
用指定的红、绿、蓝sRGB色彩创造,并在范围内的α值(0 - 255)。
|
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()
返回的alpha分量范围在0-255。
|
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 参数指定的
ColorSpace 的
Color 颜色分量。
|
float[] |
getColorComponents(float[] compArray)
返回一个包含唯一的
Color 颜色分量
float 阵列,在
Color 的
ColorSpace 。
|
ColorSpace |
getColorSpace()
返回该
Color 的
ColorSpace 。
|
float[] |
getComponents(ColorSpace cspace, float[] compArray)
返回一个包含颜色的
Color alpha分量
float 阵列,由
cspace 参数指定的
ColorSpace 。
|
float[] |
getComponents(float[] compArray)
返回一个包含颜色的
Color alpha分量
float 阵列,在
Color 的
ColorSpace 。
|
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)
返回一个包含唯一的
Color 颜色分量
float 阵列,在默认的sRGB色彩空间。
|
float[] |
getRGBComponents(float[] compArray)
返回一个包含颜色的
Color alpha分量
float 阵列,作为默认的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 字符串表示形式。
|
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
如果α位是有效的;
false
否则
ColorModel.getRGBdefault()
,
getRed()
,
getGreen()
,
getBlue()
,
getAlpha()
,
getRGB()
public Color(float r, float g, float b)
r
-红色分量
g
-绿色成分
b
-蓝色分量
IllegalArgumentException
-如果
r
,
g
或
b
的范围是0到1外,包括
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到1外,包括
getRed()
,
getGreen()
,
getBlue()
,
getAlpha()
,
getRGB()
public Color(ColorSpace cspace, float[] components, float alpha)
ColorSpace
在
float
阵列和指定的阿尔法指定颜色分量的颜色创建。组件的数量是由
ColorSpace
类型确定。例如,RGB需要3个元件,但CMYK需要4分。
cspace
-
ColorSpace
用来解释组件
components
-颜色分量,与
ColorSpace
兼容任意数量
alpha
α值
IllegalArgumentException
-如果你的价值的
components
阵列或
alpha
是0到1的范围之外
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α,而红,8-15是绿色的,0-7是蓝色的)。
ColorModel
颜色的RGB值。
ColorModel.getRGBdefault()
,
getRed()
,
getGreen()
,
getBlue()
public Color brighter()
Color
是光明版的这
Color
。
这种方法适用于任意规模的因素,每一本Color
RGB三个分量来创造一个更美好的版本的这Color
。的alpha
值保留。虽然brighter
和darker
反向操作,一系列的这两个方法调用的结果可能不一致,因为舍入误差。
Color
对象是光明版的这
Color
同
alpha
价值。
darker()
public Color darker()
Color
,黑版这
Color
。
这种方法适用于任意规模的因素,每一本Color
三RGB组件创建一个暗版的这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
。
其结果是true
如果只有参数不null
是Color
对象具有相同的红色,绿色,蓝色,和α的值作为此对象。
equals
方法重写,继承类
Object
obj
-与此
Color
相等测试对象
true
如果对象是相同的;
false
否则。
Object.hashCode()
,
HashMap
public String toString()
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
。
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和1之间(范围在0.0-1.0号)。的hue
组件可以是任何浮点数。这个数字的地板从它减去创建一个1和0之间的分数。这个分数乘以360,在HSB颜色模型产生的色相角。
整数,返回HSBtoRGB
编码比特0-23整数的值,该方法getRGB
使用相同格式的颜色值。这个整数可以提供作为参数的Color
构造函数接受一个整数参数。
hue
-颜色的色调
saturation
-色彩的饱和度
brightness
-颜色的亮度
getRGB()
,
Color(int)
,
ColorModel.getRGBdefault()
public static float[] RGBtoHSB(int r, int g, int b, float[] hsbvals)
如果hsbvals
论点是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和1之间(范围在0.0-1.0号)。的h
组件可以是任何浮点数。这个数字的地板从它减去创建一个1和0之间的分数。这个分数乘以360,在HSB颜色模型产生的色相角。
h
-色调
s
-色彩的饱和度
b
-颜色的亮度
Color
对象。
public float[] getRGBComponents(float[] compArray)
float
和彩色的
Color
alpha分量,作为默认的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)
Color
alpha分量
float
阵列,在
Color
的
ColorSpace
。如果是一个
compArray
null
,长度等于在相关
ColorSpace
组件的数量加一的返回值创建数组。否则,
compArray
必须至少这个长度是填充组件并返回。
compArray
-一个数组,这个方法充满色彩,这
Color
在
ColorSpace
返回alpha分量
float
阵列的颜色和alpha分量。
public float[] getColorComponents(float[] compArray)
float
的
Color
颜色分量,在
Color
的
ColorSpace
。如果是一个
compArray
null
,长度等于在相关
ColorSpace
数组成的数组是返回值创建。否则,
compArray
必须至少这个长度是填充组件并返回。
compArray
-一个数组,这个方法充满这
Color
在
ColorSpace
并返回颜色分量
float
阵列的颜色分量。
public float[] getComponents(ColorSpace cspace, float[] compArray)
float
和彩色的
Color
alpha分量,由
cspace
参数指定的
ColorSpace
。如果是一个
compArray
null
,长度等于在
cspace
加一是返回值创建的组件数阵。否则,
compArray
至少要有这个长度,并填入组件并返回。
cspace
-指定
ColorSpace
compArray
-一个数组,这个方法在指定的
ColorSpace
充满并将颜色和这个
Color
alpha分量
float
阵列的颜色和alpha分量。
public float[] getColorComponents(ColorSpace cspace, float[] compArray)
float
数组只包含在由
cspace
参数指定的
ColorSpace
的
Color
颜色分量。如果是一个
compArray
null
,长度等于在
cspace
数组成的数组是返回值创建。否则,
compArray
至少要有这个长度,并填入组件并返回。
cspace
-指定
ColorSpace
compArray
-一个数组,这个方法在指定的
ColorSpace
充满这
Color
颜色分量
float
阵列的颜色分量。
public ColorSpace getColorSpace()
Color
的
ColorSpace
。
Color
对象的
ColorSpace
。
public PaintContext createContext(ColorModel cm, Rectangle r, Rectangle2D r2d, AffineTransform xform, RenderingHints hints)
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)
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.