置顶公告:【置顶】关于临时开启评论区所有功能的公告(2022.10.22) | 【置顶】关于本站Widget恢复使用的公告
  • 你好~!欢迎来到萌娘百科镜像站!如需查看或编辑,请联系本站管理员注册账号。
  • 本镜像站和其他萌娘百科的镜像站无关,请注意分别。

Module: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值