โมดูลนี้อนุญาตให้แปลงค่าสีแบบสองทิศทางระหว่างสีที่แสดงใน RGB (สีแดง เขียว น้ำเงิน) และปริภูมิสีอื่นๆ ช่องว่างสีอื่นๆ อีกสามแบบที่ใช้คือ YIQ (ความส่องสว่าง (Y) การสร้างพื้นที่สี่เหลี่ยมจัตุรัสในเฟส), HLS (ความอิ่มตัวของสี Hue Lightness) และ HSV (ค่าความอิ่มตัวของสี) พิกัดทั้งหมดสามารถอยู่ระหว่าง 0 ถึง 1 ยกเว้นค่า I และ Q ในพื้นที่สี YIQ
ตารางด้านล่างแสดงฟังก์ชันและวัตถุประสงค์
ฟังก์ชัน | วัตถุประสงค์ | ค่าที่อนุญาต |
---|---|---|
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)