
    e                        d dl mZ ddlmZmZmZ  G d d      Z G d de      Z G d d	e      Z G d
 de      Z	 G d de      Z
y)    )annotations   )ImageImageFilter	ImageStatc                      e Zd Zd Zy)_Enhancec                X    t        j                  | j                  | j                  |      S )a  
        Returns an enhanced image.

        :param factor: A floating point value controlling the enhancement.
                       Factor 1.0 always returns a copy of the original image,
                       lower factors mean less color (brightness, contrast,
                       etc), and higher values more. There are no restrictions
                       on this value.
        :rtype: :py:class:`~PIL.Image.Image`
        )r   blend
degenerateimage)selffactors     2/usr/lib/python3/dist-packages/PIL/ImageEnhance.pyenhancez_Enhance.enhance   s     {{4??DJJ??    N)__name__
__module____qualname__r    r   r   r	   r	      s    @r   r	   c                      e Zd ZdZd Zy)Colora  Adjust image color balance.

    This class can be used to adjust the colour balance of an image, in
    a manner similar to the controls on a colour TV set. An enhancement
    factor of 0.0 gives a black and white image. A factor of 1.0 gives
    the original image.
    c                    || _         d| _        d|j                         v rd| _        |j                  | j                        j                  |j                        | _        y )NLALA)r   intermediate_modegetbandsconvertmoder   r   r   s     r   __init__zColor.__init__1   sM    
!$%..""%)D"--(>(>?GG

Sr   Nr   r   r   __doc__r"   r   r   r   r   r   (   s    Tr   r   c                      e Zd ZdZd Zy)ContrastzAdjust image contrast.

    This class can be used to control the contrast of an image, similar
    to the contrast control on a TV set. An enhancement factor of 0.0
    gives a solid gray image. A factor of 1.0 gives the original image.
    c                   || _         t        t        j                  |j	                  d            j
                  d   dz         }t        j                  d|j                  |      j	                  |j                        | _
        d|j                         v r+| j                  j                  |j                  d             y y )Nr   r   g      ?r   )r   intr   Statr   meanr   newsizer    r   r   putalpha
getchannel)r   r   r*   s      r   r"   zContrast.__init__B   s    
9>>%--"45::1=CD))CT:BB5::N%..""OO$$U%5%5c%:; #r   Nr#   r   r   r   r&   r&   :   s    <r   r&   c                      e Zd ZdZd Zy)
BrightnesszAdjust image brightness.

    This class can be used to control the brightness of an image.  An
    enhancement factor of 0.0 gives a black image. A factor of 1.0 gives the
    original image.
    c                    || _         t        j                  |j                  |j                  d      | _        d|j                         v r+| j
                  j                  |j                  d             y y )Nr   r   )	r   r   r+   r    r,   r   r   r-   r.   r!   s     r   r"   zBrightness.__init__S   sV    
))EJJ

A>%..""OO$$U%5%5c%:; #r   Nr#   r   r   r   r0   r0   K       <r   r0   c                      e Zd ZdZd Zy)	SharpnesszAdjust image sharpness.

    This class can be used to adjust the sharpness of an image. An
    enhancement factor of 0.0 gives a blurred image, a factor of 1.0 gives the
    original image, and a factor of 2.0 gives a sharpened image.
    c                    || _         |j                  t        j                        | _        d|j                         v r+| j                  j                  |j                  d             y y )Nr   )r   filterr   SMOOTHr   r   r-   r.   r!   s     r   r"   zSharpness.__init__c   sP    
,,{'9'9:%..""OO$$U%5%5c%:; #r   Nr#   r   r   r   r4   r4   [   r2   r   r4   N)
__future__r    r   r   r   r	   r   r&   r0   r4   r   r   r   <module>r:      sN   ( # + +@ @TH T$<x <"< < < <r   