
    daf                     F    d Z g dZdZdZdZd Zd Zd Zd Zd	 Z	d
 Z
d Zy)aJ  Conversion functions between RGB and other color systems.

This modules provides two functions for each color system ABC:

  rgb_to_abc(r, g, b) --> a, b, c
  abc_to_rgb(a, b, c) --> r, g, b

All inputs and outputs are triples of floats in the range [0.0...1.0]
(with the exception of I and Q, which covers a slightly larger range).
Inputs outside the valid range may cause exceptions or invalid outputs.

Supported color systems:
RGB: Red, Green, Blue components
YIQ: Luminance, Chrominance (used by composite video signals)
HLS: Hue, Luminance, Saturation
HSV: Hue, Saturation, Value
)
rgb_to_yiq
yiq_to_rgb
rgb_to_hls
hls_to_rgb
rgb_to_hsv
hsv_to_rgbgUUUUUU?gUUUUUU?gUUUUUU?c                 r    d| z  d|z  z   d|z  z   }d| |z
  z  d||z
  z  z
  }d| |z
  z  d||z
  z  z   }|||fS )Ng333333?gzG?g)\(?gGz?gHzG?gQ?g=
ףp=? )rgbyiqs         #/root/Python-3.12.4/Lib/colorsys.pyr   r   (   s\    Qa$q& Aac
T1Q3ZAac
T1Q3ZAq!9    c                     | d|z  z   d|z  z   }| d|z  z
  d|z  z
  }| d|z  z
  d|z  z   }|dk  rd}|dk  rd}|dk  rd}|dkD  rd}|dkD  rd}|dkD  rd}|||fS )	Ng2rL?g,?g:?gnєW?g6޷?gJ"X?              ?r	   )r   r   r   r
   r   r   s         r   r   r   .   s    
 	
q  #5a#77A	!!$6q$88A	q  #5a#77A3w3w3w3w3w3wq!9r   c                     t        | ||      }t        | ||      }||z   }||z
  }|dz  }||k(  rd|dfS |dk  r||z  }n|d|z
  |z
  z  }|| z
  |z  }	||z
  |z  }
||z
  |z  }| |k(  r||
z
  }n||k(  r	d|	z   |z
  }nd|
z   |	z
  }|dz  dz  }|||fS )N       @r         ?      @      @r   maxmin)r
   r   r   maxcmincsumcrangeclsrcgcbchs                r   r   r   K   s    q!Q<Dq!Q<DID4iFSAt|As{CxTMc$htm$
q&F	B
q&F	B
q&F	BDyrE	
dF2IF2I	
3#Aa7Nr   c                     |dk(  r|||fS |dk  r	|d|z   z  }n||z   ||z  z
  }d|z  |z
  }t        ||| t        z         t        |||       t        ||| t        z
        fS )Nr   r   r   r   )_v	ONE_THIRD)r&   r!   r"   m2m1s        r   r   r   c   su    Cx!QwCx#a%[qS!A#Y	QBr2q{#RB]Br2q{4KLLr   c                     |dz  }|t         k  r| || z
  |z  dz  z   S |dk  r|S |t        k  r| || z
  t        |z
  z  dz  z   S | S )Nr   r   r   )	ONE_SIXTH	TWO_THIRD)r+   r*   hues      r   r(   r(   m   s^    
)C
YRUCKO##
Sy	
YRUYs]+C///Ir   c                     t        | ||      }t        | ||      }||z
  }|}||k(  rdd|fS ||z  }|| z
  |z  }||z
  |z  }	||z
  |z  }
| |k(  r|
|	z
  }n||k(  r	d|z   |
z
  }nd|	z   |z
  }|dz  dz  }|||fS )Nr   r   r   r   r   r   )r
   r   r   r   r   r    vr"   r#   r$   r%   r&   s               r   r   r   }   s    q!Q<Dq!Q<D4iFAt|C{A
q&F	B
q&F	B
q&F	BDyrE	
dF2IF2I	
3#Aa7Nr   c                    |dk(  r|||fS t        | dz        }| dz  |z
  }|d|z
  z  }|d||z  z
  z  }|d|d|z
  z  z
  z  }|dz  }|dk(  r|||fS |dk(  r|||fS |dk(  r|||fS |dk(  r|||fS |d	k(  r|||fS |d
k(  r|||fS y )Nr   r   r                         )int)r&   r"   r1   r   fpr   ts           r   r   r      s    Cx!QwAcE
A	
3!A	37A	319A	3CE?A	!AAv!QwAv!QwAv!QwAv!QwAv!QwAv!Qw r   N)__doc____all__r)   r-   r.   r   r   r   r   r(   r   r   r	   r   r   <module>r@      sF   .&
 			:0M (r   