โมดูล colorsys ใช้แปลงค่าสีระหว่าง RGB (Red Green Blue) และพื้นที่สีอื่นๆ 3 รูปแบบ ได้แก่ YIQ (Luminance, In-phase, Quadrature), HLS (Hue Lightness Saturation), HSV (Hue Saturation Value) พิกัดทุกค่าอยู่ระหว่าง 0 ถึง 1 ยกเว้น I และ Q ใน YIQ
| Function | วัตถุประสงค์ | ค่าที่อนุญาต |
|---|---|---|
| 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)