2023年政策修订增补工作正在进行中,欢迎参与!
模块:ColorManipulation/doc
跳转到导航
跳转到搜索
这是Module:ColorManipulation的文档页面
本模块封装一系列简单的色彩操作,以适应不同的使用需求。
功能函数
应被模板封装以提供对外使用的接口。
p.luminThres
为颜色的亮度设置一个门限值,当超过该门限值时自动降低亮度。
- 输入:
- 颜色代码
- 门限值,取值为0~1。
- 输出:处理后的颜色代码。
p.valThres
为颜色的明度设置一个门限值,当超过该门限值时自动降低亮度。
- 输入:
- 颜色代码
- 门限值,取值为0~1。
- 输出:处理后的颜色代码。
p.hueShift
对颜色的色相进行增减操作。
- 输入:
- 颜色代码
- 偏移度(以360为整个色环)
- 输出:处理后的颜色代码。
p.colorMix
混合两种颜色。
- 输入:
- 两个颜色各自的颜色代码
- 两种颜色在混合时的权重,取值为0~1;越靠近0点第一种颜色的权重越大,反之亦然。
- 输出:处理后的颜色代码。
辅助函数
文本处理
parseString
校验输入的十六进制颜色代码并转换为RGB值。
- 输入:
- 颜色代码
- 输出
- RGB值
- 指定原颜色代码是否带#号的标识(0为无,1为有)
parseRGB
将输入的RGB值转换为十六进制颜色代码。
- 输入:
- RGB值
- 指定原颜色代码是否带#号的标识(0为无,1为有)
- 输出
- 颜色代码,以原格式输出
HSL颜色
rgbToHsl
将RGB颜色转换为HSL颜色。
- 输入:
- RGB值
- 输出
- HSL值
hslToRgb
将HSL颜色转换为RGB颜色。
- 输入:
- HSL值
- 输出
- RGB值
HSV颜色
rgbToHsv
将RGB颜色转换为HSV颜色。
- 输入:
- RGB值
- 输出
- HSV值
hsvToRgb
将HSV颜色转换为RGB颜色。
- 输入:
- HSV值
- 输出
- RGB值
XYZ颜色
- 本模板XYZ颜色的Y值为相对亮度 (Relative Luminance),选用CIE 1931 XYZ标准中定义的参数,即Web Content Accessibility Guidelines 2.0标准中相应的相对亮度定义。
- 根据该标准中的参数,对RGB向XYZ的转换,其内部处理过程如下:
- 将原始的sRGB值标准化(重新映射):
- R,G,B值为原始值的1/255。
- 对于R值,若R<=0.03928,则标准化的Rnom值为R/12.92,否则为((R+0.055)/1.055)^2.4。
- G, B的计算方法相同。
- 将R/G/B值矩阵乘以下列矩阵:
0.4124564 | 0.3575761 | 0.1804375 |
0.2126729 | 0.7151522 | 0.0721750 |
0.0193339 | 0.1191920 | 0.9503041 |
- 得到的新矩阵分别代表X, Y与Z值。
- 相应的,将XYZ向RGB转换的逆操作则需作相应的逆运算,即乘上逆矩阵并经反函数处理(反标准化)得到RGB值。
rgbToXyz
将RGB颜色转换为XYZ颜色。
- 输入:
- RGB值
- 输出
- XYZ值
xyzToRgb
将XYZ颜色转换为RGB颜色。
- 输入:
- XYZ值
- 输出
- RGB值