java.lang.Object java.awt.Color
public class Color
Color
类用于封装默认 sRGB 颜色空间中的颜色,或者用于封装由 ColorSpace
标识的任意颜色空间中的颜色。每种颜色都有一个隐式的 alpha 值 1.0,或者有一个在构造方法中提供的显式的 alpha 值。alpha 值定义了颜色的透明度,可用一个在 0.0 - 1.0 或 0 - 255 范围内的浮点值表示它。alpha 值为 1.0 或 255 则意味着颜色完全是不透明的,alpha 值为 0 或 0.0 则意味着颜色是完全透明的。在使用显式的 alpha 值构造 Color
时,或者在获取某个 Color
的颜色/alpha 分量时,从不将颜色分量预乘 alpha 分量。
Java 2D(tm) API 的默认颜色空间是 sRGB,这是一个被推荐使用的标准 RGB 颜色空间。有关 sRGB 的更多信息,请参阅 http://www.w3.org/pub/WWW/Graphics/Color/sRGB.html。
ColorSpace
,
AlphaComposite
,
序列化表格
字段摘要 | |
---|---|
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 黄色。 |
从接口 java.awt.Transparency 继承的字段 |
---|
BITMASK, OPAQUE, TRANSLUCENT |
构造方法摘要 | |
---|---|
Color(ColorSpace cspace, float[] components, float alpha) 创建具有 float 数组中指定的颜色分量和指定的 alpha 值的指定 ColorSpace 中的颜色。 |
|
Color(float r, float g, float b) 创建具有指定红色、绿色和蓝色值的不透明的 sRGB 颜色,这三个颜色值都在 (0.0 - 1.0) 的范围内。 |
|
Color(float r, float g, float b, float a) 创建具有指定红色、绿色、蓝色和 alpha 值的 sRGB 颜色,这些值都在 (0.0 - 1.0) 的范围内。 |
|
Color(int rgb) 创建具有指定组合的 RGB 值的不透明的 sRGB 颜色,此 sRGB 值的 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) 创建具有指定红色、绿色和蓝色值的不透明的 sRGB 颜色,这些值都在 (0 - 255) 的范围内。 |
|
Color(int r, int g, int b, int a) 创建具有指定红色、绿色、蓝色和 alpha 值的 sRGB 颜色,这些值都在 (0 - 255) 的范围内。 |
方法摘要 | |
---|---|
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) 根据由 cspace 参数指定的 ColorSpace ,返回一个 float 数组,该数组只包含 Color 的颜色分量。 |
float[] |
getColorComponents(float[] compArray) 根据 Color 的 ColorSpace ,返回一个 float 数组,该数组只包含 Color 的颜色分量。 |
ColorSpace |
getColorSpace() 返回此 Color 的 ColorSpace 。 |
float[] |
getComponents(ColorSpace cspace, float[] compArray) 根据由 cspace 参数指定的 ColorSpace ,返回一个 float 数组,该数组只包含 Color 的 alpha 分量。 |
float[] |
getComponents(float[] compArray) 根据 Color 的 ColorSpace ,返回一个 float 数组,该数组包含 Color 的颜色分量和 alpha 分量。 |
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) 根据默认的 sRGB color space,返回一个 float 数组,该数组只包含 Color 的颜色分量。 |
float[] |
getRGBComponents(float[] compArray) 根据默认的 sRGB color space,返回一个 float 数组,该数组包含 Color 的颜色分量和 alpha 分量。 |
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 的字符串表示形式。 |
从类 java.lang.Object 继承的方法 |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
字段详细信息 |
---|
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()
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
,则 alpha 值为默认值 255。
rgba
- 组合的 RGBA 分量
hasalpha
- 如果 alpha 的位有效,则该参数为
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.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)
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[])
方法详细信息 |
---|
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
中表示颜色的 RGB 值。
ColorModel.getRGBdefault()
,
getRed()
,
getGreen()
,
getBlue()
public Color brighter()
Color
,它具有比此
Color
更亮的颜色。
此方法对这个 Color
的三个 RGB 分量都使用了一个任意缩放因子,以创建具有更亮颜色的 Color
。brighter
和 darker
是相反的操作,因为舍入误差,所以连续多次调用这两个方法所产生的结果可能是不一致的。
Color
,它具有比此
Color
更亮的颜色。
darker()
public Color darker()
Color
,它具有比此
Color
更暗的颜色。
此方法对这个 Color
的三个 RGB 分量都使用了一个任意缩放因子,以创建具有更暗颜色的 Color
。brighter
和 darker
是相反的操作,因为舍入误差,所以连续多次调用这两个方法所产生的结果可能是不一致的。
Color
,它具有比此
Color
更暗的颜色。
brighter()
public int hashCode()
Color
的哈希码。
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Color
相同。
当且仅当此参数不为 null
,并且是一个与此对象具有相同红色、绿色、蓝色和 alpha 值的 Color
对象时,结果才是 true
。
obj
- 用来与此
Color
进行等同性测试的对象
true
;否则返回
false
Object.hashCode()
,
Hashtable
public String toString()
Color
的字符串表示形式。此方法只适用于调试。返回的字符串的内容和格式在各种实现间可能各不相同。返回的字符串可以为空,但不可以为
null
。
Color
的字符串表示形式。
public static Color decode(String nm) throws NumberFormatException
String
转换成整数,并返回指定的不透明
Color
。此方法处理用来表示八进制和十六进制数字的字符串格式。
nm
- 将某种不透明颜色表示为 24 位整数的
String
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(