U
    Evf™  ã                   @  sr   d dl mZ 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 )é    )Úannotationsé   )Ú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   ZblendÚ
degenerateÚimage)ÚselfZfactor© r   ú4/tmp/pip-unpacked-wheel-ciywl2yd/PIL/ImageEnhance.pyÚenhance   s    z_Enhance.enhanceN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s   r   c                   @  s   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| ¡ krd| _| | j¡ |j¡| _d S )NÚLÚAZLA)r	   Zintermediate_modeÚgetbandsÚconvertÚmoder   ©r
   r	   r   r   r   Ú__init__1   s
    zColor.__init__N©r   r   r   Ú__doc__r   r   r   r   r   r   (   s   r   c                   @  s   e Zd ZdZdd„ ZdS )Ú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 gray image. A factor of 1.0 gives the original image.
    c                 C  s`   || _ tt | d¡¡jd d ƒ}t d|j|¡ |j	¡| _
d| ¡ kr\| j
 | d¡¡ d S )Nr   r   g      à?r   )r	   Úintr   ZStatr   Úmeanr   ÚnewÚsizer   r   r   ÚputalphaÚ
getchannel)r
   r	   r   r   r   r   r   B   s
    zContrast.__init__Nr   r   r   r   r   r   :   s   r   c                   @  s   e Zd ZdZdd„ ZdS )Ú
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| ¡ kr8| j | d¡¡ d S )Nr   r   )	r	   r   r   r   r   r   r   r    r!   r   r   r   r   r   S   s    zBrightness.__init__Nr   r   r   r   r   r"   K   s   r"   c                   @  s   e Zd ZdZdd„ ZdS )Ú	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  s6   || _ | tj¡| _d| ¡ kr2| j | d¡¡ d S )Nr   )r	   Úfilterr   ZSMOOTHr   r   r    r!   r   r   r   r   r   c   s    zSharpness.__init__Nr   r   r   r   r   r#   [   s   r#   N)Ú
__future__r   Ú r   r   r   r   r   r   r"   r#   r   r   r   r   Ú<module>   s   