java.awt.Color类
Posted 21summer
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java.awt.Color类相关的知识,希望对你有一定的参考价值。
Color类概述
Color是用来封装颜色的,支持多种颜色空间,默认为RGB颜色空间。每个Color对象都有一个alpha通道,值为0到255,代表透明度,当alpha通道值为255时,表示完全不透明;当alpha通道值为0时,表示完全透明,前三个量不起作用;当alpha通道的值为0~255之间的值时,代表指定颜色不同程度的透明度。
Color类预定义的颜色常量
颜色名 | 预定义的颜色名 | 红色值 | 绿色值 | 蓝色值 |
---|---|---|---|---|
白色 | white | 255 | 255 | 255 |
浅灰色 | lightGray | 192 | 192 | 192 |
灰色 | gray | 128 | 128 | 128 |
深灰色 | darkGray | 64 | 64 | 64 |
黑色 | black | 0 | 0 | 0 |
红色 | red | 255 | 0 | 0 |
粉色 | pink | 255 | 175 | 175 |
橙色 | orange | 255 | 200 | 0 |
黄色 | yellow | 255 | 255 | 0 |
绿色 | green | 0 | 255 | 0 |
品红色 | magenta | 255 | 0 | 255 |
青色 | cyan | 0 | 255 | 255 |
蓝色 | blue | 0 | 0 | 255 |
通过Color构造函数自定义颜色
Color的构造函数:
Color(int,int,int): 指定RGB值0~255,alpha通道为默认值255,即不透明
Color(int,int,int,int): 指定RGB、alpha通道的值,0~255
Color(int): 指定RGB值,其中int转换为16进制表示形式,0xff000000,其中ff为alpha通道,为默认值255,16~23 bit 为R,8~15 bit 为G,0~7 bit 为B
**Color(int, boolean): 如果boolean只为True,则int值转换为包含alpha通道的16进制,24~32 bit 为alpha通道值,否则alpha通道值为255
Color(float,float,float): 指定RGB值,范围0.0~1.0,alpha通道默认为1.0
Color(float,float,float,float): 指定RGB、alpha通道的值,范围为0.0~1.0
Colr(ColorSpace,float[],float): 三个参数分别为颜色空间、各通道颜色值组成的数组,alpha通道值,其中float[]数组中元素的个数取决于颜色空间,如RGB颜色空间为3,CMYK颜色空间为4
Color对象的方法
getRed(): 获取Red通道的值
getGreen(): 获取Green通道的值
getBlue(): 获取Blue通道的值
getAlpha(): 获取alpha通道的值
getRGB(): 获取颜色的RGB、alpha通道的值,转换为16进制后,24~31 bit为alpha通道,16~23 bit 为red,8~15 bit 为green通道,0~6 bit 为blue通道
brighter(): 返回一个比当前颜色浅一级的Color对象
darker(): 返回一个比当前颜色深一级的Color对象
equals(Object): 比较两个颜色对象是否颜色相同
getColor(String): 获取某个字符串的系统属性的值,所对应的颜色,返回一个Color对象,否则返回null
getColor(String,Color): 同上,如果Sring对应的系统属性值为null,则返回Color值
getColor(String,int): 同上,否则返回int值所对应的Color对象
getColorSpace(): 返回颜色空间
HSBtoRGB(float,float,float): 从HSB空间转换到RGB空间,返回RGB空间对应的int值,不含alpha通道
RGBtoHSB(): 从RGB空间转换到HSB空间,返回HSB空间对应的float值,不含alpha通道
以上是关于java.awt.Color类的主要内容,如果未能解决你的问题,请参考以下文章