o
    Z#ûav  ã                   @   sf   d dl mZmZmZ G dd„ dƒZG dd„ deƒZG dd„ deƒZG dd	„ d	eƒZG d
d„ deƒZdS )é   )ÚImageÚImageFilterÚ	ImageStatc                   @   s   e Zd Zdd„ ZdS )Ú_Enhancec                 C   s   t  | 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Úfactor© r   ú2/usr/lib/python3/dist-packages/PIL/ImageEnhance.pyÚenhance   s   z_Enhance.enhanceN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   c                   @   ó   e Zd ZdZdd„ ZdS )Ú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                 C   s8   || _ d| _d| ¡ v rd| _| | j¡ |j¡| _d S )NÚLÚAÚLA)r   Úintermediate_modeÚgetbandsÚconvertÚmoder   ©r	   r   r   r   r   Ú__init__0   s
   zColor.__init__N©r   r   r   Ú__doc__r   r   r   r   r   r   '   s    r   c                   @   r   )ÚContrastzòAdjust 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 grey image. A factor of 1.0 gives the original image.
    c                 C   sd   || _ tt | d¡¡jd d ƒ}t d|j|¡ |j	¡| _
d| ¡ v r0| j
 | d¡¡ d S d S )Nr   é    g      à?r   )r   Úintr   ÚStatr   Úmeanr   ÚnewÚsizer   r   r   ÚputalphaÚ
getchannel)r	   r   r"   r   r   r   r   A   s   ÿzContrast.__init__Nr   r   r   r   r   r   9   ó    r   c                   @   r   )Ú
BrightnesszÅAdjust 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                 C   s@   || _ t |j|jd¡| _d| ¡ v r| j | d¡¡ d S d S )Nr   r   )	r   r   r#   r   r$   r   r   r%   r&   r   r   r   r   r   R   s
   ÿzBrightness.__init__Nr   r   r   r   r   r(   J   r'   r(   c                   @   r   )Ú	SharpnesszðAdjust 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                 C   s:   || _ | tj¡| _d| ¡ v r| j | d¡¡ d S d S )Nr   )r   Úfilterr   ÚSMOOTHr   r   r%   r&   r   r   r   r   r   b   s
   ÿzSharpness.__init__Nr   r   r   r   r   r)   Z   r'   r)   N)	Ú r   r   r   r   r   r   r(   r)   r   r   r   r   Ú<module>   s   