41. 2.5.2 Java 的色彩管理
Java 以跨平台,与硬件无关的方式支持色彩管理。Java 的色彩管理功能来自于 java.awt
包中的 Color 类。Color 类允许在应用程序中指定自己需要的任意色彩,不用担心因计算机的
硬件设备所支持的绘制方式不同而引起的颜色差别。Java 支持 sRGB 色彩模型,将自动找到
最接近的颜色。
Java 对色彩的管理都被封装在 java.awt.Color 类中。
Color 类提供了对颜色控制的常量和方法。表 2.5 列出了 Color 类中部分预定义的颜色常
量及其 RGB 值。
表 2.5 部分 Color 颜色常量及其 RGB 值
颜色常量 颜 色 RGB 值
public final static Color ORANGE/orange 橙色 255, 200, 0
public final static Color PINK/pink 粉红色 255, 175, 175
public final static Color CYAN/cyan 青色 0, 255, 255
public final static Color MAGENTA/magenta 品红色 255, 0, 255
public final static Color YELLOW/yellow 黄色 255, 255, 0
public final static Color RED/red 红色 255, 0, 0
public final static Color BLACK/black 黑色 0, 0, 0
public final static Color WHITE/white 白色 255, 255, 255
public final static Color LIGHT_GRAY/lightGray 淡灰色 192, 192, 192
颜色常量的名称有两种写法,一种是小写,另一种是大写。我们建议采用大写的形式表
达 Java 的颜色常量,因为它们更符合常量的命名约定。
Color 类通过设置不同的三个原色:红、绿、蓝(RGB)的值而创建各种颜色。这三个
原色的合并值称为 RGB 值。RGB 中的每个值又可以表示为 0~255 范围内的某个整数,或者
表示为 0.0~1.0 之间的浮点数。RGB 中的 R 表示颜色中红色的数值,G 表示绿色的数值,而
B 表示蓝色的数值。数值越大,表示相应的色彩含量就越多。RBG 总共可以产生的颜色总数
为 256´256´256,即 167 77 2 16 种颜色。表 2.6 列出了 Color 的方法以及 Graphics 类中与之相
关的方法。
表 2.6 Color 的方法以及 Graphics 类中与之相关的方法
Color 的构造器及部分方法
public Color(int r, int g, int b) // Color class
创建一种基于红色、绿色和蓝色的颜色,每种颜色的表示方法为 0~255 之间的一个整数
public Color(float r, float g, float b) // Color class
创建一种基于红色、绿色和蓝色的颜色,每种颜色的表示方法为 0~1 之间的一个浮点数
public int getRed() // Color class
返回一个 0~255 之间的,表示 RGB 中红色的整数值
public int getGreen() // Color class
返回一个 0~255 之间的,表示 RGB 中绿色的整数值
public int getBlue() // Color class
返回一个 0~255 之间的,表示 RGB 中蓝色的整数值