这是Module:ColorManipulation的文档页面
本模块封装一系列简单的色彩操作,以适应不同的使用需求。
功能函数
应被模板封装以提供对外使用的接口。
p.luminThres
为颜色的亮度设置一个门限值,当超过该门限值时自动降低亮度。
p.valThres
为颜色的明度设置一个门限值,当超过该门限值时自动降低亮度。
p.hueShift
对颜色的色相进行增减操作。
p.colorMix
混合两种颜色。
- 两个颜色各自的颜色代码
- 两种颜色在混合时的权重,取值为0~1;越靠近0点第一种颜色的权重越大,反之亦然。
辅助函数
文本处理
parseString
校验输入的十六进制颜色代码并转换为RGB值。
- RGB值
- 指定原颜色代码是否带#号的标识(0为无,1为有)
parseRGB
将输入的RGB值转换为十六进制颜色代码。
- RGB值
- 指定原颜色代码是否带#号的标识(0为无,1为有)
HSL颜色
rgbToHsl
将RGB颜色转换为HSL颜色。
hslToRgb
将HSL颜色转换为RGB颜色。
HSV颜色
rgbToHsv
将RGB颜色转换为HSV颜色。
hsvToRgb
将HSV颜色转换为RGB颜色。
XYZ颜色
-
- R,G,B值为原始值的1/255。
- 对于R值,若R<=0.03928,则标准化的Rnom值为R/12.92,否则为((R+0.055)/1.055)^2.4。
- G, B的计算方法相同。
| 0.4124564 |
0.3575761 |
0.1804375
|
| 0.2126729 |
0.7151522 |
0.0721750
|
| 0.0193339 |
0.1191920 |
0.9503041
|
- 相应的,将XYZ向RGB转换的逆操作则需作相应的逆运算,即乘上逆矩阵并经反函数处理(反标准化)得到RGB值。
rgbToXyz
将RGB颜色转换为XYZ颜色。
xyzToRgb
将XYZ颜色转换为RGB颜色。