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