14.7 colorsys -- Conversions between color systems
Keywords: lib

# 14.7 `colorsys` -- Conversions between color systems

The `colorsys` module defines bidirectional conversions of color values between colors expressed in the RGB (Red Green Blue) color space used in computer monitors and three other coordinate systems: YIQ, HLS (Hue Lightness Saturation) and HSV (Hue Saturation Value). Coordinates in all of these color spaces are floating point values. In the YIQ space, the Y coordinate is between 0 and 1, but the I and Q coordinates can be positive or negative. In all other spaces, the coordinates are all between 0 and 1.

More information about color spaces can be found at http://www.inforamp.net/%7epoynton/ColorFAQ.html.

The `colorsys` module defines the following functions:

`rgb_to_yiq` (r, g, b)
  Convert the color from RGB coordinates to YIQ coordinates.

`yiq_to_rgb` (y, i, q)
  Convert the color from YIQ coordinates to RGB coordinates.

`rgb_to_hls` (r, g, b)
  Convert the color from RGB coordinates to HLS coordinates.

`hls_to_rgb` (h, l, s)
  Convert the color from HLS coordinates to RGB coordinates.

`rgb_to_hsv` (r, g, b)
  Convert the color from RGB coordinates to HSV coordinates.

`hsv_to_rgb` (h, s, v)
  Convert the color from HSV coordinates to RGB coordinates.

Example:

      >>> import colorsys
      >>> colorsys.rgb_to_hsv(.3, .4, .2)
      (0.25, 0.5, 0.4)
      >>> colorsys.hsv_to_rgb(0.25, 0.5, 0.4)
      (0.3, 0.4, 0.2)