|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
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
中的
hashCode
Object.equals(java.lang.Object)
,
Hashtable
public boolean equals(Object obj)
Color
相同。
当且仅当此参数不为 null
,并且是一个与此对象具有相同红色、绿色、蓝色和 alpha 值的 Color
对象时,结果才是 true
。
Object
中的
equals
obj
- 用来与此
Color
进行等同性测试的对象
true
;否则返回
false
Object.hashCode()
,
Hashtable
public String toString()
Color
的字符串表示形式。此方法只适用于调试。返回的字符串的内容和格式在各种实现间可能各不相同。返回的字符串可以为空,但不可以为
null
。
Object
中的
toString
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(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
分量可以是任意浮点数字。从这个数字中减去该数字的基数,便可以创建 0 和 1 之间的小数部分。然后,将这个数字乘以 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
分量可以是任意浮点数字。从这个数字中减去该数字的基数,便可以创建 0 和 1 之间的小数部分。然后,将这个数字乘以 360 就可以得到 HSB 颜色模式中的色彩角度。
h
- hue 分量
s
- 颜色的饱和度
b
- 颜色的亮度
Color
对象。
public float[] getRGBComponents(float[] compArray)
float
数组,该数组包含
Color
的颜色分量和 alpha 分量。如果
compArray
为
null
,则将为返回值创建一个长度为 4 的数组。否则,
compArray
的长度必须是 4 或大于 4,并被上述分量和返回的值填充。
compArray
- 此方法用颜色分量、alpha 分量和返回的值填充的数组
float
数组中的 RGBA 分量。
public float[] getRGBColorComponents(float[] compArray)
float
数组,该数组只包含
Color
的颜色分量。如果
compArray
为
null
,则将为返回值创建一个长度为 3 的数组。否则,
compArray
的长度必须是 3 或大于 4,并被上述分量和返回的值填充。
compArray
- 此方法用颜色分量和返回的值填充的数组
float
数组中的 RGB 分量。
public float[] getComponents(float[] compArray)
Color
的
ColorSpace
,返回一个
float
数组,该数组包含
Color
的颜色分量和 alpha 分量。如果
compArray
为
null
,则将为返回值创建一个数组,该数组的长度等于相关
ColorSpace
中的分量数加 1。否则,
compArray
的长度至少必须为该长度,并被上述分量和返回的值填充。
compArray
- 此方法用
ColorSpace
中此
Color
的颜色分量和 alpha 分量填充并返回的数组
float
数组中的颜色分量和 alpha 分量。
public float[] getColorComponents(float[] compArray)
Color
的
ColorSpace
,返回一个
float
数组,该数组只包含
Color
的颜色分量。如果
compArray
为
null
,则将为返回值创建一个数组,该数组的长度等于相关
ColorSpace
中的分量数。否则,
compArray
的长度至少必须为该长度,并被上述分量和返回的值填充。
compArray
- 此方法用
ColorSpace
中此
Color
的颜色分量填充并返回的数组
float
数组中的颜色分量。
public float[] getComponents(ColorSpace cspace, float[] compArray)
cspace
参数指定的
ColorSpace
,返回一个
float
数组,该数组只包含
Color
的 alpha 分量。如果
compArray
为
null
,则将为返回值创建一个数组,该数组的长度等于
cspace
中的分量数加 1。否则,
compArray
的长度至少必须为该长度,并被上述分量和返回的值填充。
cspace
- 一个指定的
ColorSpace
compArray
- 此方法用指定
ColorSpace
中此
Color
的颜色分量和 alpha 分量填充并返回的数组
float
数组中的颜色分量和 alpha 分量。
public float[] getColorComponents(ColorSpace cspace, float[] compArray)
cspace
参数指定的
ColorSpace
,返回一个
float
数组,该数组只包含
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)
PaintContext
。这使得任何一个需要以一个实现了
Paint
接口的对象为参数的方法,都可以用
Color
对象做该参数。不管
r
、
r2d
、
xform
或
hints
是否为
null
,返回的都是相同的
PaintContext
。
Paint
中的
createContext
cm
- 指定的
ColorModel
r
- 指定的
Rectangle
r2d
- 指定的
Rectangle2D
xform
- 指定的
AffineTransform
hints
- 指定的
RenderingHints
PaintContext
Paint
,
PaintContext
,
Graphics2D.setPaint(java.awt.Paint)
public int getTransparency()
Color
的透明模式。当实现
Paint
接口时需要用到此方法。
Transparency
中的
getTransparency
Color
对象的透明模式。
Paint
,
Transparency
,
createContext(java.awt.image.ColorModel, java.awt.Rectangle, java.awt.geom.Rectangle2D, java.awt.geom.AffineTransform, java.awt.RenderingHints)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
上一个类 下一个类 | 框架 无框架 | |||||||||
摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 |
版权所有 2007 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策。