Python 中的 colorsys 模块
此模块允许在以内(RGB(红绿蓝))和其他颜色空间中表示的颜色之间进行颜色值双向转换。它使用的另外三个颜色空间是 YIQ(亮度 (Y) 同相正交)、HLS(色相亮度饱和度)和 HSV(色相饱和度值)。除了 YIQ 颜色空间中的 I 和 Q 值以外,所有坐标都可以介于 0 到 1 之间。
下表显示了函数及其用途。
| 函数 | 用途 | 允许值 |
|---|---|---|
| rgb_to_yiq | 从 RGB 坐标到 YIQ 坐标 | 0 到 1 |
| rgb_to_hls | 从 RGB 坐标到 HLS 坐标 | 0 到 1 |
| rgb_to_hsv | 从 RGB 坐标到 HSV 坐标 | 0 到 1 |
| yiq_to_rgb | 从 YIQ 坐标到 RGB 坐标 | -1 到 1 |
| hls_to_rgb | 从 HLS 坐标到 RGB 坐标 | 0 到 1 |
| hsv_to_rgb | 从 HSV 坐标到 RGB 坐标 | 0 到 1 |
示例
import colorsys as csys
# "Electric Blue"
r, g, b = 0.47, 0.91, 1.00
print("The RGB Values for Electric Blue: ", (r, g, b))
#
y, i, q = csys.rgb_to_yiq(r, g, b)
print("YIQ", (y, i, q), "becomes", csys.yiq_to_rgb(y, i, q))
h, s, v = csys.rgb_to_hsv(r, g, b)
print("HSV", (h, s, v), "becomes", csys.hsv_to_rgb(h, s, v))
h, l, s = csys.rgb_to_hls(r, g, b)
print("HLS", (h, l, s), "becomes", csys.hls_to_rgb(h, l, s))
输出
运行以上代码,会得到以下结果
The RGB Values for Electric Blue: (0.47, 0.91, 1.0) YIQ (0.7879, -0.292513, -0.06563100000000005) becomes (0.47, 0.9100000000000001, 1.0) HSV (0.5283018867924528, 0.53, 1.0) becomes (0.47, 0.9099999999999999, 1.0) HLS (0.5283018867924528, 0.735, 1.0) becomes (0.4700000000000001, 0.9099999999999998, 0.9999999999999999)
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP