实现源码:Lib/colorsys.py

Docs:colorsys --- 颜色系统间的转换

colorsys 模块定义了计算机显示器所用的 RGB (Red Green Blue) 色彩空间与三种其他色彩坐标系统 YIQ, HLS (Hue Lightness Saturation) 和 HSV (Hue Saturation Value) 表示的颜色值之间的双向转换. 所有这些色彩空间的坐标都使用浮点数值来表示. 在 YIQ 空间中,Y 坐标取值为 0 和 1 之间,而 I 和 Q 坐标均可以为正数或负数. 在所有其他空间中,坐标取值均为 0 和 1 之间.

import colorsys

#把颜色从RGB值转为YIQ值. 
colorsys.rgb_to_yiq(r, g, b)

#把颜色从YIQ值转为RGB值. 
colorsys.yiq_to_rgb(y, i, q)

#把颜色从RGB值转为HLS值. 
colorsys.rgb_to_hls(r, g, b)

#把颜色从HLS值转为RGB值. 
colorsys.hls_to_rgb(h, l, s)

#把颜色从RGB值转为HSV值. 
colorsys.rgb_to_hsv(r, g, b)

#把颜色从HSV值转为RGB值. 
colorsys.hsv_to_rgb(h, s, v)

示例如:

import colorsys

colorsys.rgb_to_hsv(0.2, 0.4, 0.4)
#(0.5, 0.5, 0.4)

colorsys.hsv_to_rgb(0.5, 0.5, 0.4)
#(0.2, 0.4, 0.4)
Last modification:June 12th, 2022 at 06:31 pm