o
    éT•j±  ã                   @   sT   d Z g d¢ZdZdZdZdd„ Zdd„ Zd	d
„ Zdd„ Zdd„ Z	dd„ Z
dd„ ZdS )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                 C   sR   d|  d|  d|  }d| |  d||   }d| |  d||   }|||fS )Ng333333Ó?gáz®Gáâ?g)\�Âõ(¼?g®Gáz®ç?gHáz®GÑ?g¸…ëQ¸Þ?g=
×£p=Ú?© )ÚrÚgÚbÚyÚiÚqr   r   ú/usr/lib/python3.10/colorsys.pyr   (   s   
r   c                 C   sŽ   | d|  d|  }| d|  d|  }| d|  d|  }|dk r$d}|dk r*d}|dk r0d}|dkr6d}|dkr<d}|dkrBd}|||fS )	Ng2rïÛLî?g¾ÀÚî,ôã?g:»Œì–Ñ?góÿnÑ”Wä?g6äÞ·™¼ñ?gJ"¦Xû?ç        ç      ð?r   )r   r   r   r   r	   r
   r   r   r   r   .   s    
r   c                 C   sÎ   t | ||ƒ}t| ||ƒ}|| }|| }|d }||kr!d|dfS |dkr*|| }n|d|  }||  | }	|| | }
|| | }| |krK||
 }n||krVd|	 | }nd|
 |	 }|d d }|||fS )Nç       @r   ç      à?ç      @ç      @r   ©ÚmaxÚmin)r   r	   r
   ÚmaxcÚmincÚsumcÚrangecÚlÚsÚrcÚgcÚbcÚhr   r   r   r   K   s(   



r   c                 C   sn   |dkr	|||fS |dkr|d|  }n|| ||  }d| | }t ||| t ƒt ||| ƒt ||| t ƒfS )Nr   r   r   r   )Ú_vÚ	ONE_THIRD)r!   r   r   Úm2Úm1r   r   r   r   c   s   
*r   c                 C   sT   |d }|t k r| ||  | d  S |dk r|S |tk r(| ||  t|  d  S | S )Nr   r   r   )Ú	ONE_SIXTHÚ	TWO_THIRD)r%   r$   Úhuer   r   r   r"   m   s   r"   c                 C   s´   t | ||ƒ}t| ||ƒ}|}||krdd|fS || | }||  ||  }|| ||  }|| ||  }	| |kr>|	| }
n||krId| |	 }
nd| | }
|
d d }
|
||fS )Nr   r   r   r   r   r   )r   r	   r
   r   r   Úvr   r   r   r    r!   r   r   r   r   }   s    


r   c                 C   sÒ   |dkr	|||fS t | d ƒ}| d | }|d|  }|d||   }|d|d|    }|d }|dkr:|||fS |dkrC|||fS |dkrL|||fS |dkrU|||fS |d	kr^|||fS |d
krg|||fS d S )Nr   r   r   é   é    é   é   é   é   é   )Úint)r!   r   r)   r   ÚfÚpr   Útr   r   r   r   �   s*   






ÿr   N)Ú__doc__Ú__all__r#   r&   r'   r   r   r   r   r"   r   r   r   r   r   r   Ú<module>   s    	
